如何解除键盘和textFieldShouldReturn不被调用

时间:2013-11-06 16:55:24

标签: ios xcode-storyboard uitextfielddelegate

基本上textFieldShouldReturn没有被调用。 我看过很多使用.Xib的例子,但这与我在ios上使用Storyboard和newbie不完全相同。

所以我的基本视图控制器有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故事板中是否有必要的内容?

1 个答案:

答案 0 :(得分:-2)

我找到了答案并且很容易你甚至不需要使用协议等!!

所以我在代码中所做的一切(这是你在互联网上找到的常用代码)都无法在Xcode 5上运行。该代码无法运行。

如果用户点击textField而不想使用回调方法,则根本不需要使用UITextFieldDelegatw。

而是在Controller内创建一个像以下一样的IBAction:

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


}

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

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

就是这样。

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