重用UITextField Delegate方法的实现

时间:2014-06-12 14:22:07

标签: ios uitextfield uitextfielddelegate

在我的应用程序中,我想多次使用UITextField。对于每个UITextField,我想实现UITextFieldDelegate方法(didEndEditing,didBeginEditing,应该......)。

我的想法是将UITextField子类化并将委托设置为自身。然后实现委托方法,因为我希望它们被实现。在这种情况下,我可以在任何地方使用子类UITextField,并且委托方法将实现一次,因此我不必在每个VC中单独实现它们。

BUT!

委托使用与另一个对象的通信来将一些东西委托给该对象。将委托设置为自己是没有意义的。

我应该如何实现委托方法ONCE,所以每次使用Interface Builder放置UITextField并将类设置为自定义UITextField时,textfield将根据实现的委托方法运行。

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

我的解决方案可能不是最优的,我仍然在寻求更好的解决方案,但是没有人回答你,我们走了:

UIView永远不应该试图"控制"任何事情:它只是一个观点。这就是为什么通过我的项目,我的所有UIViewController都从基地UIViewControllerBaseViewController)继承。此BaseViewController包含所有UITextField委托代码,因此只要UIViewControllerUITextField委托设置为selfBaseViewController就会处理它。因为我希望我的BaseViewController能够控制我所有观看的UIScrollView内容偏移量,所以我还有一个基类BaseView,我的所有UIViews都在继承,默认情况下为UIScrollview