iOS Xcode键盘完成按键功能

时间:2012-04-06 05:07:24

标签: objective-c ios xcode keyboard

我无法按“完成”按钮退出键盘。

我在我的controller.h文件中使用了这个

- (IBAction)textFieldDoneEditing:(id)sender;

这是我的controller.m文件

- (IBAction)textFieldDoneEditing:(id)sender {
  [sender resignFirstResponer];
}

我把.xib部分连接起来了。

3 个答案:

答案 0 :(得分:23)

使控制器成为IB中UITextField / UITextView的委托,或者来自textField.delegate = self;

之类的代码

Editted: 为此,您需要将控制器声明为UITextFieldDelegate / UITextViewDelegate的委托

@interface Controller : <UITextFieldDelegate> { ...

,然后覆盖方法:

-(BOOL)textFieldShouldReturn:(UITextField *)textField{
    [textField resignFirstResponder];
    return YES;
}

表示UITextField和

-(BOOL)textViewShouldEndEditing:(UITextView *)textView{
    [textView resignFirstResponder];
    return YES;
}

用于UITextView

答案 1 :(得分:1)

在.xib中,右键单击文本视图,拖动到“文件所有者”,然后单击“委托”。现在应该工作吗?

编辑:哎呀,对不起,我是个白痴,做其他人说的话。如果您不知道如何在代码中设置委托,您可以在IB中执行此操作。

答案 2 :(得分:0)

让我做出我的第一个贡献: 如果您有多个文本字段,请将它们分组为@property(强,非原子)

*的.h

@property (strong, nonatomic) IBOutletCollection(UITextField) NSArray *collectingData;

*。米

-(BOOL)textFieldShouldReturn:(UITextField *)boxes
    {
        for (UITextField *boxes in collectingData) {
        [boxes resignFirstResponder];
    }
    return YES;

}