1

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

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

对我来说毫无意义。我觉得我在设置屏幕的方式上一定遗漏了一些简单的东西,但如果我能弄明白的话,我会很高兴的。每个屏幕在属性表中看起来都相同(在 Xcode 的右侧),并且在 File's Owner 属性表中的所有内容都正确连接,在IBOutletIBActions.

这是一些正在发生的事情的照片......

想法?谢谢。

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

4

3 回答 3

0

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

我附上了我自己的通知者/观察者,并没有为最后几个 UITextField 对象这样做。很抱歉打扰大家。

于 2012-12-08T19:53:12.693 回答
0

没有这样的方法UITextFieldDelegate

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

好像你想要textField:shouldChangeCharactersInRange:replacementString:的。

于 2012-12-08T19:31:48.117 回答
0

就我现在而言,没有带有 header 的委托方法textFieldDidChange。你已经创建了一个你自己的方法,它依赖于一个 NSNotification。确保所有UITextFields 都发送正确的通知。

于 2012-12-08T19:26:41.510 回答