具有多个委托的 UITextfield
Posted
技术标签:
【中文标题】具有多个委托的 UITextfield【英文标题】:UITextfield with multiple delegates 【发布时间】:2017-10-27 08:52:54 【问题描述】:我正在使用JJMaterialTextField 自定义 UITextField 类。它有一些用于动画占位符等的代表。我也想为使用该类的 UIViewController 使用其他一些代表。如果我在 UIViewController 中为 JJMaterialTextField 类对象写下 delegate.self,我不会执行它自己的委托,它只执行 UIViewController 中的委托方法。但我希望它应该执行两种委托方法。我该怎么做?谢谢。
【问题讨论】:
你能把你的代码放在这里吗? 【参考方案1】:在视图控件中使用委托,改为使用此
[textField addTarget:self
action:@selector(textFieldDidChange:)
forControlEvents:UIControlEventEditingChanged];
它的行为类似于委托,它会在文本更改时触发,还有其他选择器 textFieldDidBegin.. 等。 这样你就不会打断代表了。
【讨论】:
【参考方案2】:如果您需要多个代表,这通常被认为是一个坏主意。代表们都是1-1的关系。
请在此处阅读答案,它将为您提供有关如何处理观察者或通知的指示
Multiple Delegates in ios
如果您不想遵循上述建议,请查看第一个和第二个答案,了解如何做到这一点,基本上创建一个包含对多个委托的引用的对象,然后您可以查看它们并发布以这种方式委托方法:
Delegation to multiple objects
【讨论】:
以上是关于具有多个委托的 UITextfield的主要内容,如果未能解决你的问题,请参考以下文章