在iPhone,我有鉴于其所具有UITextField
。当我上的清除按钮点击UITextField
的键盘越来越消失,而不是在文本UITextField
。在iPad上samething工作正常。 请建议我,该怎么办? 提前致谢!!
Answer 1:
恰好离开现场,resignFirstResponder(如果要隐藏键盘),并返回NO /假
Note: set Attributes inspector property of UITextField
清除按钮- >出现在编辑
so it will display 'X' button while editing in textfield.
// Objective-C的
-(BOOL)textFieldShouldClear:(UITextField *)textField
{
textField.text = @"";
[textField resignFirstResponder];
return NO;
}
//斯威夫特
func textFieldShouldClear(textField: UITextField) -> Bool {
textField.text = ""
textField.resignFirstResponder()
return false
}
Answer 2:
您将uitextifield的委托后,试试这个代码
-(BOOL)textFieldShouldClear:(UITextField *)textField
{
return true;
}
Answer 3:
首先,检查与您的所有代码块UITextField
(特别是码yourTextField.hidden = YES;
把破发点,每个分析UITextField
是可以实现的代表。
( textFieldDidEndEditing
, textFieldShouldEndEditing
, textFieldShouldReturn.etc
。)
要么
实施textFieldShouldClear
委托,在这里写代码可见光和清除UITextField
要做到这一点,你必须设置clearButtonMode
如下,
yourTextField.clearButtonMode = UITextFieldViewModeWhileEditing;
yourTextField.delegate = self;
//For active keyboard again
[yourTextField becomeFirstResponder];
然后实现textFieldShouldClear
委托
YourClass.h
@interface className : UIViewController <UITextFieldDelegate>
YourClass.m
-(BOOL)textFieldShouldClear:(UITextField *)textField {
yourTextField.hidden = NO;
yourTextField.text = @"";
return YES;
}
Answer 4:
只要确保U've给出这两个
editingTextField.delegate = self;
editingTextField.clearButtonMode = UITextFieldViewModeWhileEditing;
TextFieldShouldClear只需要,如果你需要做一些定制:-)
你在做这个方法的一些东西吗?
也许你是在呼唤这个委托方法resignFirstResponder,这就是为什么键盘是越来越驳回。
请通过委托方法,并检查乌尔做究竟是什么。
Answer 5:
此问题也发生了,如果你有
yourTextField.clearButtonMode = UITextFieldViewModeNever;
选中此行,将其删除或更改视图模式..
文章来源: When clicking on uitextfield's clear button keyboard is disappearing not text