ios - 编辑自定义 UITextField 后应用程序卡住

标签 ios objective-c uitextfield

我有一个自定义的 UITextField 用于验证非空输入、正确的电子邮件、大于 x 个字符的密码等。

UITextField 自身有一个委托(delegate),因为我对文本字段对象本身进行了所有验证。不确定这是否是问题所在。

此自定义 UITextField 是在 .XIB 文件中创建的。

编辑文本字段本身时,文本字段有时会锁定应用程序。当我按下键盘上的“下一步”按钮(用于转到下一个需要填写的文本字段)时,它通常也会锁定。

Xcode 不会返回错误(例如循环错误,我假设它是),应用程序只是锁定。这种情况不会一直发生,但通常情况下,如果我用文本对其进行压力测试,然后按“下一步”,它很可能会锁定。

应用程序不会崩溃...它不会返回主屏幕,但它实际上只是锁定,并且保持无响应。

有什么想法吗?如果您需要更多信息来解决这个问题,请告诉我。我现在不知所措。


编辑: 已解决,显然将 UITextField 的委托(delegate)设置为其自身并不是一个好主意。我最终做的是创建一个单独的类,专门作为 UITextField 的委托(delegate)处理,并在该类中执行所有逻辑。该类还将有一个属性连接到它作为委托(delegate)的文本字段。

最佳答案

我也把答案写在这里:

显然,将 UITextField 的委托(delegate)设置为其自身并不是一个好主意,因为它最终可能会进入循环。

我最终做的是创建一个单独的类,专门作为 UITextField 的委托(delegate)处理,并在该类中执行所有逻辑。该类还将有一个属性连接到它作为委托(delegate)的文本字段。

关于ios - 编辑自定义 UITextField 后应用程序卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14815478/

相关文章:

iphone - NSmutablearray 上的 uitextfield 输入

ios - 进行本地化时使用自动布局取消自动 RTL 翻转

objective-c - CoreData:将MagicalRecord与FetchedResultsController和自定义sortDescriptor结合使用

iphone - 将 iPhone 应用程序转换为通用应用程序

ios - 如何在 swift 4 中动态创建控件并动态对齐?

uitextfield - 如何使用 UICollectionView 提供 Search-As-You-Type 过滤?

ios - 推送通知不是来自解析云代码

ios - 处理多个推送通知时出错

objective-c - 最小化每组长度的连续单词分组算法

ios - 如何将椭圆形图层绘制到 UITextField