我是否需要为UITextField创建控制器?

时间:2012-01-04 21:08:18

标签: iphone cocoa-touch xcode4 xcode4.2

刚开始使用xcode 4.2的iPhone应用程序。

我理解在我的应用程序中为每个视图使用UIViewController的子类是一个好习惯,我能够在这些中编写一些基本代码来测试相关视图上的按钮等。

现在我想对其中一个视图中的文本字段执行某些操作,假设我将使用Value Changed事件在每次击键时记录文本字段的内容。

我应该创建某种UITextField控制器子类吗?或者我是否在现有的包含文本字段的ViewController子类中处理这类事情?

如果是后者,我如何引用视图控制器子类中的文本字段,并进行连接?

2 个答案:

答案 0 :(得分:1)

您可能希望UIViewController实施UITextFieldDelegate。可以通过Interface Builder和outlet进行连接,也可以只在文本字段上设置委托,并使用从委托回调中获得的引用。

答案 1 :(得分:0)

您将使用包含文本字段的现有ViewController子类。一个好的经验法则是每个视图屏幕一个ViewController(不包括UINavigationController,模态屏幕,uisplitviewcontroller和popovers)。

要引用它,您可以在自定义UIViewController的.h中创建一个属性:

@property (nonatomic,weak) IBOutlet UITextField * myTextField;

请注意IBOutlet关键字。这将允许您在InterfaceBuilder(或您的故事板)中连接它。要了解如何连接,我建议您观看有关IBOutlets的视频,因为它更像是一个视觉效果。