将“清除”按钮添加到iPhone UITextField
如何在清除文本的UITextField的右侧添加那个小小的“X”按钮?我无法在iPhone OS 2.2 SDK的Interface Builder中找到添加此子控件的属性。将“清除”按钮添加到iPhone UITextField
注意:在Xcode 4.x及更高版本(iPhone 3.0 SDK和更高版本)中,您可以在Interface Builder中执行此操作。
此按钮是由UITextField类提供的内置叠加层,但对于iPhone OS 2.2 SDK,无法通过Interface Builder对其进行设置。您必须以编程方式启用它。
加入这行代码某处(viewDidLoad中为例):
myUITextField.clearButtonMode = UITextFieldViewModeWhileEditing;
UPDATE: Xcode的IB的最新版本不支持此属性。
您可以添加自定义清除按钮和控制大小和使用这种每一件事情:
UIButton *clearButton = [UIButton buttonWithType:UIButtonTypeCustom];
[clearButton setImage:img forState:UIControlStateNormal];
[clearButton setFrame:frame];
[clearButton addTarget:self action:@selector(clearTextField:) forControlEvents:UIControlEventTouchUpInside];
textField.rightViewMode = UITextFieldViewModeAlways; //can be changed to UITextFieldViewModeNever, UITextFieldViewModeWhileEditing, UITextFieldViewModeUnlessEditing
[textField setRightView:clearButton];
您也可以从Interface Builder的属性检查器设置下,这直接。
从5.1的XCode
请注意,该问题特别提到了有关2.2 SDK的问题,并指出此选项在更高版本的Interface Builder中可用。 – 2014-05-30 16:03:30
夫特3摘自:
textField.clearButtonMode = UITextFieldViewMode.WhileEditing
或甚至更短:
textField.clearButtonMode = .whileEditing
修复枚举类型。不得从大写字母开始。 – 2017-06-20 11:40:06
目标C:
self.txtUserNameTextfield.myUITextField.clearButtonMode = UITextFieldViewModeWhileEditing;
斯威夫特:
txtUserNameTextfield.clearButtonMode = UITextFieldViewMode.WhileEditing;
这不工作,不喜欢我:
迅速:
customTextField.clearButtonMode = UITextFieldViewMode.Always
customTextField.clearsOnBeginEditing = true;
func textFieldShouldClear(textField: UITextField) -> Bool {
return true
}
在Xcode中8(8A218a):
Swift:
textField.clearButtonMode = UITextFieldViewMode.whileEditing;
“W”从资本变为非资本“w”。
在Xcode版本8.1(8B62)上,可以直接在Attributes Inspector中完成。选择textField,然后从清除按钮下拉框中选择适当的选项,它位于属性检查器中。
- 嗨。我可以在textField上编辑clearButtonMode的大小.. – NiKKi 2012-12-21 06:13:08