重用UITextField委托方法的实现
在我的应用程序中,我想多次使用UITextField。对于每个UITextField,我想实现UITextFieldDelegate方法(didEndEditing,didBeginEditing,应该...)。重用UITextField委托方法的实现
我的想法是继承UITextField并将委托设置为自己。然后按照我希望的那样实施委托方法。在这种情况下,我可以在任何地方使用子类UITextField,并且委托方法将被执行一次,所以我不需要分别在每个VC中实现它们。
但是!
委托使用与另一个对象的通信将某些内容委托给该对象。将委托设置为自己没有意义。
我应该如何实现委托方法ONCE,因此每次使用Interface Builder放置UITextField并将类设置为自定义UITextField时,文本字段将按照实现的委托方法行事。
感谢您的帮助
我的解决方案可能不是最优的,我还在寻找一个更好的,但一直没有人接你,在这里我们去:
一个UIView
千万别试图“控制”任何东西:这只是一个观点。这就是为什么通过我的项目,我的所有UIViewController
继承自基地UIViewController
(BaseViewController
)。此BaseViewController
拥有所有UITextField
委托代码,因此无论何时UIViewController
将UITextField
委托人设置为self
,BaseViewController
都会处理它。因为我希望我的BaseViewController
能够控制我的所有视图的UIScrollView
内容偏移量,所以我也有一个基类BaseView
,这些基类都是我的UIViews
继承的,默认情况下为UIScrollview
。
UIView不应该是它自己的代理。让一个UIViewController实现委托协议,并根据@Emilie –
的建议,在需要的时候将其指定为委托。好的,谢谢,我将就此开展工作。 – michel