单击uitextfield时,清除按钮键盘正在消失而不是文本

Mad*_*Mad 19 iphone keyboard objective-c uitextfield ios

在iPhone中,我有它的视图UITextField.当我点击UITextField键盘的清除按钮消失,而不是文本UITextField.在ipad一样正常工作.请建议我,该怎么办?提前致谢!!

Him*_*dia 43

只需清除字段resignFirstResponder(如果要隐藏键盘)并返回NO/false

-(BOOL)textFieldShouldClear:(UITextField *)textField
{
    textField.text = @"";
    [textField resignFirstResponder];
    return NO;
}
Run Code Online (Sandbox Code Playgroud)

清除按钮 - >编辑时出现

func textFieldShouldClear(textField: UITextField) -> Bool {
    textField.text = ""
    textField.resignFirstResponder()
    return false
}
Run Code Online (Sandbox Code Playgroud)

// Objective-C

-(BOOL)textFieldShouldClear:(UITextField *)textField
{
    textField.text = @"";
    [textField resignFirstResponder];
    return NO;
}
Run Code Online (Sandbox Code Playgroud)

//斯威夫特

func textFieldShouldClear(textField: UITextField) -> Bool {
    textField.text = ""
    textField.resignFirstResponder()
    return false
}
Run Code Online (Sandbox Code Playgroud)


小智 11

在附加uitextifield的委托后尝试此代码

-(BOOL)textFieldShouldClear:(UITextField *)textField
{
     return true;
}
Run Code Online (Sandbox Code Playgroud)


Sha*_* TK 10

首先,检查与您相关的所有代码块UITextField(尤其是代码yourTextField.hidden = YES;)

放置断点并分析UITextField您实施的每个代表.

(textFieldDidEndEditing,textFieldShouldEndEditing,textFieldShouldReturn.etc.)

要么

实现textFieldShouldClear委托并在此处编写代码以显示并清除您的代码UITextField

为此,您必须设置clearButtonMode如下,

yourTextField.clearButtonMode = UITextFieldViewModeWhileEditing;
yourTextField.delegate = self;

//For active keyboard again
[yourTextField becomeFirstResponder];
Run Code Online (Sandbox Code Playgroud)

然后实现textFieldShouldClear委托

YourClass.h

    @interface className : UIViewController <UITextFieldDelegate>
Run Code Online (Sandbox Code Playgroud)

YourClass.m

-(BOOL)textFieldShouldClear:(UITextField *)textField {
    yourTextField.hidden = NO;
    yourTextField.text = @"";
    return YES;
}
Run Code Online (Sandbox Code Playgroud)


Sj.*_*Sj. 5

只要确保你已经给了这两个

editingTextField.delegate = self;
editingTextField.clearButtonMode = UITextFieldViewModeWhileEditing;
Run Code Online (Sandbox Code Playgroud)

只有在需要进行一些自定义时才需要TextFieldShouldClear :-)

你在做这个方法吗?

也许你在这个委托方法中调用resignFirstResponder,这就是为什么键盘被解雇了.

请仔细检查委托方法,并检查您的确切行为.