我向用户显示UITextField,此文本字段中的文本由不同的控制器更新。
用户无法在此UITextField中输入内容。我通过以下方式确保了这一点:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
return NO;
}
但是我想在文本字段中显示清晰的图标,以便用户可以清除文本字段中的值。我通过以下方式做到这一点:
_inputField.clearButtonMode = UITextFieldViewModeAlways;
但是当里面有文字时,清除按钮不显示:(
知道我可能做错了吗?
答案 0 :(得分:0)
试试这个:
customTextField.clearButtonMode = UITextFieldViewMode.Always
customTextField.clearsOnBeginEditing = true;
func textFieldShouldClear(textField:UITextField) - >布尔{ 返回true }
答案 1 :(得分:0)
您需要创建一个自定义按钮并将其添加到textfield的rightView
UIButton *clearButton = [UIButton buttonWithType:UIButtonTypeCustom];
[clearButton setImage:[UIImage imageNamed:@"delete.png"] forState:UIControlStateNormal];
[clearButton setFrame:CGRectMake(0,0,45,45)];
// If you need action
[clearButton addTarget:self action:@selector(clearTextField) forControlEvents:UIControlEventTouchUpInside];
_inputField.rightViewMode = UITextFieldViewModeAlways;
_inputField.rightView = clearButton;
_inputField.rightView.hidden = NO;
答案 2 :(得分:0)
我认为您忘记添加UITextFieldDelegate
并将委托设置为textField
_inputField.delegate = self;