我正在开发一个iPhone应用,在这个应用中,用户正在UITextView中输入。
我想知道如何在键盘上添加“完成”按钮,而不是普通的回车键。当用户点击该按钮时,键盘会关闭。
谢谢!
我正在开发一个iPhone应用,在这个应用中,用户正在UITextView中输入。
我想知道如何在键盘上添加“完成”按钮,而不是普通的回车键。当用户点击该按钮时,键盘会关闭。
谢谢!
UITextViewDelegate
协议中没有-textViewShouldReturn:
方法。如果您希望按下返回(完成)键时关闭键盘,则最好使用UITextField
,因为UITextView
旨在编辑多行文本(因此您需要一种输入换行符的方式)。
如果您真的想在UITextView
中按下返回键时关闭键盘,那么可以尝试像这样做:
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
if ([text isEqual:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}
这很简单:
textField.returnKeyType=UIReturnKeyDone;
- (BOOL)textFieldShouldReturn:(UITextField *)aTextfield {
[aTextfield resignFirstResponder];
return YES;
}
除了设置之外:
textField.returnKeyType = UIReturnKeyDone;
你需要将文本字段的委托设置为你的类,并执行以下操作:
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
这个设置returnKeyType也可以通过Interface Builder来完成 - 如果你的UI是在XIB文件中定义的话。另外,-resignFirstResponder将确保键盘消失。应该在-textFieldShouldReturn:代理方法中进行,因为当用户点击Done按钮时会调用该方法。
希望对你有所帮助。