iPhone UI 텍스트 필드에 "지우기" 단추 추가
UI 텍스트 필드 오른쪽에 텍스트를 지우는 작은 "X" 버튼을 추가하려면 어떻게 해야 합니까?iPhone OS 2.2 SDK의 Interface Builder에서 이 하위 컨트롤을 추가하기 위한 속성을 찾을 수 없습니다.
참고: Xcode 4.x 이상(iPhone 3.0 SDK 이상)에서는 Interface Builder에서 이 작업을 수행할 수 있습니다.
이 버튼은 에서 제공하는 기본 제공 오버레이입니다.UITextField
클래스, 하지만 iOS 2.2 SDK부터는 인터페이스 빌더를 통해 설정할 수 있는 방법이 없습니다.프로그래밍 방식으로 활성화해야 합니다.
이 코드 라인을 어딘가에 추가합니다.viewDidLoad
예):
목표-C
myUITextField.clearButtonMode = UITextFieldViewModeWhileEditing;
스위프트 5.0
myUITextField.clearButtonMode = .whileEditing
또한 속성 관리자 아래의 인터페이스 작성기에서 직접 설정할 수도 있습니다.
XCode 5.1에서 가져온 것
Swift 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];
Swift 4 (크리스토퍼 존슨의 답변에서 채택됨)
textfield.clearButtonMode = .always
textfield.clearButtonMode = .whileEditing
textfield.clearButtonMode = .unlessEditing
textfield.clearButtonMode = .never
목표 C:
self.txtUserNameTextfield.myUITextField.clearButtonMode = UITextFieldViewModeWhileEditing;
스위프트:
txtUserNameTextfield.clearButtonMode = UITextField.ViewMode.WhileEditing;
이건 안 돼요, 저처럼 하세요.
신속:
customTextField.clearButtonMode = UITextField.ViewMode.Always
customTextField.clearsOnBeginEditing = true;
func textFieldShouldClear(textField: UITextField) -> Bool {
return true
}
Xcode 8(8A218a)의 경우:
스위프트:
textField.clearButtonMode = UITextField.ViewMode.whileEditing;
"W"는 대문자에서 대문자가 아닌 "w"로 바뀌었습니다.
func clear_btn(box_is : UITextField){
box_is.clearButtonMode = .always
if let clearButton = box_is.value(forKey: "_clearButton") as? UIButton {
let templateImage = clearButton.imageView?.image?.withRenderingMode(.alwaysTemplate)
clearButton.setImage(templateImage, for: .normal)
clearButton.setImage(templateImage, for: .highlighted)
clearButton.tintColor = .white
}
}
아래 코드 행을 사용합니다.오른쪽 보기가 있으면 지우기 버튼이 표시되지 않습니다.
self.txtField.rightView = nil
self.txtField.rightViewMode = .never
self.txtField.clearButtonMode = UITextField.ViewMode.always
Xcode Version 8.1(8B62)에서는 Attributes Inspector에서 직접 수행할 수 있습니다.textField를 선택한 다음 속성 관리자에 있는 Clear Button 드롭다운 상자에서 적절한 옵션을 선택합니다.
언급URL : https://stackoverflow.com/questions/320078/adding-the-clear-button-to-an-iphone-uitextfield
'programing' 카테고리의 다른 글
워드프레스에서 처음 로그인한 후 사용자를 리디렉션하시겠습니까? (0) | 2023.06.10 |
---|---|
서로 다른 RHEL 호스트에서 생성된 MariaDB 시간대 정보 SQL 파일 간의 차이 (0) | 2023.06.10 |
로그인 셸과 대화형 셸의 차이점은 무엇입니까? (0) | 2023.06.10 |
Angular2 예외:알려진 기본 속성이 아니므로 'ngStyle'에 바인딩할 수 없습니다. (0) | 2023.06.10 |
반복기 머리글 또는 바닥글에서 컨트롤을 찾는 방법 (0) | 2023.06.10 |