我有一个自定义的 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/