如果您愿意使用其他方法来关闭键盘,您可以添加一个“完成”按钮,点击该按钮时会调用“hideKeyboard”方法。
您将此按钮添加到键盘附件视图(基本上是一个简单的 UIToolBar,并进行了一些自定义以使其看起来不错)。
我不知道如何使用 Interface Builder 执行此操作,但我知道如何使用纯代码执行此操作:
// setup done button accessory view for keyboard
UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
[toolBar setBarStyle:UIBarStyleBlackTranslucent];
UIButton *btnDone = [[UIButton alloc] initWithFrame:CGRectMake(20, 8, 65, 30)];
[btnDone setTitle:@"Done" forState:UIControlStateNormal];
btnDone.titleLabel.font = [UIFont fontWithName:@"Arial-BoldMT" size:14];
btnDone.backgroundColor = [UIColor darkGrayColor];
btnDone.layer.cornerRadius = 5.0;
btnDone.tintColor = [UIColor darkGrayColor];
[btnDone addTarget:self action:@selector(hideKeyboard) forControlEvents:UIControlEventTouchUpInside];
[toolBar addSubview:btnDone];
[btnDone release];
// -------------------------------------------------------------------
// let your text field's keyboard know about the accessory view
// -------------------------------------------------------------------
myTextField.inputAccessoryView = toolBar;
...
// Hide Keyboard Method
-(void)hideKeyboard
{
[myTextField resignFirstResponder];
}
这将在键盘上方添加一个自定义视图,以便您可以按“完成”按钮隐藏键盘。