textFieldShouldReturn不会在iPad应用中触发

时间:2012-05-31 21:27:45

标签: objective-c xcode4 storyboard

我有一个使用XCode 4和Storyboard创建的iPad应用程序。我有一个UITableViewController,接口定义如下:

@interface CustomerViewController : UITableViewController <UITextFieldDelegate> 

在.m文件中,我有一个代码段:

- (BOOL) textFieldShouldReturn:(UITextField *)textField  {

if(textField == businessName)  {
    [email becomeFirstResponder];
    return true;
}

方法'textFieldShouldReturn'不会被执行。还有什么需要做的? (顺便说一句......我从来没有能够在iPad应用程序中使用它,但在iPhone应用程序中总能成功)

2 个答案:

答案 0 :(得分:3)

在textFieldShouldReturn方法中,您正在测试textField是否等于businessName。我假设这是一个UITextField对象,但你必须设置委托来接收回调。只是一个简单的self.businessName.delegate = self;当你创建TextField时。

另一个提示,我建议将其称为businessNameTextField。在整个代码中阅读更容易。

答案 1 :(得分:1)

您必须将视图控制器设置为文本字段的委托,只是声明您符合协议是不够的。如果它适用于iPhone但不适用于iPad,那么您有可能没有链接iPad故事板中的代理插座,但是您已经在iPhone中。