텍스트를 지우는 UITextField의 오른쪽에 작은 “X”버튼을 어떻게 추가합니까? iPhone OS 2.2 SDK의 Interface Builder에서이 하위 제어를 추가하기위한 속성을 찾을 수 없습니다.
참고 : Xcode 4.x 이상 (iPhone 3.0 SDK 이상)에서는 Interface Builder에서이 작업을 수행 할 수 있습니다.
답변
이 버튼은 UITextField
클래스에서 제공하는 내장 오버레이 이지만 iOS 2.2 SDK에서는 Interface Builder를 통해 설정할 수있는 방법이 없습니다. 프로그래밍 방식으로 활성화해야합니다.
이 코드 줄을 어딘가에 추가하십시오 ( viewDidLoad
예 🙂 .
목표 -C
myUITextField.clearButtonMode = UITextFieldViewModeWhileEditing;
스위프트 5.0
myUITextField.clearButtonMode = .whileEditing
답변
속성 관리자 아래의 인터페이스 빌더에서 직접 설정할 수도 있습니다.
XCode 5.1에서 가져온
답변
스위프트 4+ :
textField.clearButtonMode = UITextField.ViewMode.whileEditing
또는 더 짧게 :
textField.clearButtonMode = .whileEditing
답변
다음을 사용하여 사용자 정의 지우기 버튼을 추가하고 크기와 모든 것을 제어 할 수 있습니다.
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];
답변
목표 C :
self.txtUserNameTextfield.myUITextField.clearButtonMode = UITextFieldViewModeWhileEditing;
빠른 :
txtUserNameTextfield.clearButtonMode = UITextField.ViewMode.WhileEditing;
답변
스위프트 4 (크리스토퍼 존슨의 답변에서 수정)
textfield.clearButtonMode = .always
textfield.clearButtonMode = .whileEditing
textfield.clearButtonMode = .unlessEditing
textfield.clearButtonMode = .never
답변
이 작동하지 않습니다, 나처럼 :
빠른:
customTextField.clearButtonMode = UITextField.ViewMode.Always
customTextField.clearsOnBeginEditing = true;
func textFieldShouldClear(textField: UITextField) -> Bool {
return true
}