iOS
iOS UITextField 비활성화(수정 못하게) 하고, 클리어 버튼은 활성화 시키기
Dokon Jang
2023. 3. 2. 14:15
반응형
안드로이드 개발자로써 서서히 iOS 개발의 위한 스터디를 하고 있습니다.
UITextField에 수정을 못하게 하고, 클리어 버튼을 사용해야 하는 경우 가 발생하여 처리 할 수 있는 방법을 구글링에서 찾았습니다.
1. UITextField를 화면에 넣습니다.
2. TextField의 속성에서 클리어 버튼(Clear Button)을 추가합니다.
3. 해당 ViewController에 TextField의 변수를 연결합니다.
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var textField2: UITextField!
}
4. ViewController에 프로토클 UITextFieldDelegate을 상속 받습니다.
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var textField2: UITextField!
}
5. UITextFieldDelegate의 함수 textFieldShouldBeginEditing을 재정의하는데, 리턴은 false로 합니다.
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var textField2: UITextField!
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool{
return false
}
}
6. TextField 변수의 delegate를 지정하면 작업을 끝납니다.
(TextField는 수정 할 수 없고, 클리어버튼으로 내용은 삭제됩니다.)
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var textField2: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
textField2.delegate = self
}
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool{
return false
}
}
반응형