并非所有UITextField都调用所有委托方法

时间:2012-12-08 19:10:02

标签: ios delegates uitextfield xib viewcontroller

我有一个视图控制器xib文件,里面有几个视图。我正在构建一个向导类型的界面。我只是在视图之间做了一个简单的淡入淡出,我已经在主界面上使用了导航控制器。我不想在这个向导中使用一个。无论如何,在视图中,每个面板至少有一个按钮,某种输入字段(通常是UITextField)和一些在UILabel中硬编码的帮助文本。

问题是并非所有UITextField个对象都在委托中调用textFieldDidChange方法(文件所有者 - 与xib关联的.m文件),而是所有UITextField个对象正在调用textFieldDidBeginEditing方法。

对我毫无意义。我觉得我必须在设置屏幕方面遗漏一些简单的东西,但如果我能弄明白的话,我会感到很沮丧。每个屏幕在属性表中都是相同的(在Xcode的右侧),并且所有内容都在IBOutletIBActions的文件所有者属性表中正确连接。

以下是一些正在发生的事情......

想法?谢谢。

以下是重要部分屏幕截图的链接。 (作为一个新成员,很难用屏幕上限添加我需要的所有信息!)

3 个答案:

答案 0 :(得分:0)

就我而言,标题textFieldDidChange没有委托方法。您已经创建了自己的方法,这取决于NSNotification。确保所有UITextField都发送了正确的通知。

答案 1 :(得分:0)

UITextFieldDelegate

上没有这样的方法

您可能会混淆textViewDidChange,这是UITextView的委托方法,但它会传递生成该事件的UITextView,而不是NSNotification

好像你想要textField:shouldChangeCharactersInRange:replacementString:

答案 2 :(得分:0)

这已经解决了。我是个傻瓜。 : - )

我附加了我自己的通知器/观察者,并且没有为最后几个UITextField对象添加。很抱歉打扰你们。