0

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

@interface CustomerViewController : UITableViewController <UITextFieldDelegate> 

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

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

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

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

4

2 回答 2

3

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

另一个提示,我建议称它为 businessNameTextField 之类的名称。整个代码更容易阅读。

于 2012-05-31T21:48:43.093 回答
1

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

于 2012-05-31T21:31:11.843 回答