Iphone “当”时如何隐藏文本框键盘;“完成/返回”;按钮被按下Xcode 4.2
我在Interface Builder中创建了一个文本字段。我将“返回键”设置为完成。这是一个单行输入(因此不需要多行)Iphone “当”时如何隐藏文本框键盘;“完成/返回”;按钮被按下Xcode 4.2,iphone,ios,xcode4.2,Iphone,Ios,Xcode4.2,我在Interface Builder中创建了一个文本字段。我将“返回键”设置为完成。这是一个单行输入(因此不需要多行) 当用户点击“完成”按钮时,如何隐藏虚拟键盘?实现委托方法UITextFieldDelegate,然后: - (void)viewDidLoad { [super viewDidLoad]; self.yourIBtextField.delegate = self; } - (BOOL)textFieldShouldReturn:(UITextField *)
当用户点击“完成”按钮时,如何隐藏虚拟键盘?实现委托方法
UITextFieldDelegate
,然后:
- (void)viewDidLoad {
[super viewDidLoad];
self.yourIBtextField.delegate = self;
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return NO;
}
UITextView没有在用户点击返回键时调用的任何方法 即使如此,如果要执行此操作,请实现UITextViewDelegate的textView:shouldChangeTextInRange:replacementText:方法,并在检查替换文本是否为\n时隐藏键盘 可能还有其他方法,但我不知道有任何方法 确保声明支持UITextViewDelegate协议
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range
replacementText:(NSString *)text {
if([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}
我希望这会有很大帮助。使用next方法在UIViewController上创建类别
- (void)hideKeyboard
{
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder)
to:nil
from:nil
forEvent:nil];
}
我缺少的部分是添加到*.h文件中的接口。一旦我添加了这一点,这段代码就可以正常工作了。希望这能帮助别人摆脱困境!在这种情况下是必需的。如果将连接从文本字段拖到viewController表示,也可以从故事板(xib)连接代理。这样,您就不必从viewDidLoad方法写入行。出于某种原因,这会重置我的隐藏设置。你知道为什么吗?你能提供更多细节吗,比如哪种隐藏设置??