0

基本上textFieldShouldReturn不会被调用。我已经看到很多使用 .Xib 的示例,但这与我在 ios 上使用 Storyboard 和新手并不完全相同。

所以我有带有 1 个文本字段的基本视图控制器。

ViewController 是这样的:

@interface ViewController: UIViewController <UITextFieldDelegate>
@property (weak,nonatomic) IBOutlet UITextField *test;
@end

所以我正在使用 UITextFieldProtocol。

然后在 .m 文件中我有

@synthesize test;

在 viewDidLoad 里面我有

self.test.delegate = self;

然后我实现了这个方法:

-(BOOL) textFieldShouldReturn:(UITextField *) textField{
NSLog(@" I am being called");
return YES;
}

因此,尽管将其设置为委托,但当我单击文本字段时不会调用此方法。

Xcode 5 故事板中有什么需要的吗?

4

1 回答 1

-2

我找到了答案,你甚至不需要使用协议等!

所以我在代码中所做的一切(这是您可以在 Internet 上找到的通用代码)将无法在 Xcode 5 上运行。该代码无法运行。

如果用户单击 textField,您根本不需要使用 UITextFieldDelegatw,而不是希望有一个回调方法。

而是在您的 Controller 中创建一个 IBAction,例如:

-(IBAction)textFieldReturn:(id)sender
{
    NSLog(@"text field Return");


}

然后在 StoryBoard 内部选择“Connections Inspector”并选择您希望将该控件分配给的 TextField。

然后在特殊事件中将“TouchDown”拖到文本字段并选择您刚刚创建的方法。在上述情况下,您将看到 textFieldReturn 选项。

就是这样。

现在,当您在选中该复选框时运行应用程序时,您将收到回调。

于 2013-11-07T13:33:51.133 回答