比方说,我添加UITextView到我的UIView,我希望它每次的内容的变化而变化的背景颜色.我可以通过成为UITextView和实施的代表来做到这一点textViewDidChange.
如果我经常使用这种行为,那么创建一个UITextView子类是有意义的,我将调用它ColorSwitchingTextView.它应该包括默认的颜色切换行为,这样任何人UIView都可以简单地添加它而不是标准,UITextView如果它想要这种行为.
如何检测ColorSwitchingTextView班级内容的变化?我认为我不能做类似的事情self.delegate = self.
总之,UITextView子类如何知道其内容何时发生变化?
编辑似乎我可以使用self.delegate = self,但这意味着使用它的UIViewController ColorSwitchingTextView也不能订阅通知.一旦我switchingTextView.delegate = self在视图控制器中使用,子类行为就不再起作用了.任何解决方法?我试图获得一个习惯UITextView,否则就像常规一样UITextView.
我有一个自定义UITextField用于验证非空输入,正确的电子邮件,大于x字符的密码等.
该UITextField有一个委托给自己,因为我做的所有文本字段对象本身的验证.不确定这是不是问题.
此自定义UITextField在.XIB文件中创建.
在编辑文本字段本身时,文本字段有时会锁定应用程序.当我按下键盘上的"下一步"按钮时,它通常也会锁定(用于转到需要填充的下一个文本字段).
Xcode没有给出错误(例如循环错误,我假设它是),应用程序只是锁定.这不会一直发生,但通常情况下,如果我用文字强调测试它,然后按"下一步",它可能会锁定.
该应用程序不会崩溃...它不会返回到主屏幕,但它实际上只是锁定,并保持无响应.
有任何想法吗?如果您需要更多信息来解决这个问题,请与我们联系.我此刻不知所措.
编辑:解决了,显然将UITextField的委托设置为自身并不是一个好主意.我最终做的是创建一个单独的类,专门作为该类的代理UITextField和执行该类中的所有逻辑.该类还有一个属性连接到它是委托的文本字段.