如何在iphone中以编程方式隐藏键盘?
答案 0 :(得分:22)
告诉当前第一响应者的UIResponder子类重新签署其第一响应者状态:
[responder resignFirstResponder];
答案 1 :(得分:20)
[textFieldName resignFirstResponder];
答案 2 :(得分:4)
很简单:
[[[UIApplication sharedApplication] keyWindow] endEditing:YES];
UIApplication.shared.keyWindow?.endEditing(true)
看看UIView Class Reference for endEditing。 导致视图(或其中一个嵌入的文本字段)重新签署第一个响应者状态。 keyWindow是唯一接收键盘事件的窗口,因此保证此解决方案始终有效。
答案 3 :(得分:2)
在ViewController中调用它
[self.view endEditing:YES];
答案 4 :(得分:0)
如果您使用的是 textview ,那么
- (BOOL)textView:(UITextView *)textView
shouldChangeTextInRange:(NSRange)range
replacementText:(NSString *)text
{
if ([text isEqualToString:@"\n"])
{
[textView resignFirstResponder];
[self keyboardWillHide];
}
}
如果您使用 textfield ,那么
-(BOOL)textFieldShouldReturn:(UITextField*)textField;
{
[textField resignFirstResponder];
}
答案 5 :(得分:0)
这是swift版本:
UIApplication.sharedApplication().sendAction("resignFirstResponder", to:nil, from:nil, forEvent:nil)