참고: (링크)
⚫️ 목적
팀 프로젝트로 themoviedb API를 활용하여 영화 정보를 검색하고 예매하는 어플을 만들었다.
아래 방법으로 로그인, 회원가입 화면에서
아이디, 비밀번호를 입력받는 UITextField에 영문자와 숫자만 입력 가능하도록 설정했다.
⚫️ 방법
step 1️⃣ : 뷰컨트롤러 viewDidLoad()에서 textField.delegate = self 설정하기
class LoginViewController: UIViewController {
@IBOutlet weak var idTextField: UITextField!
@IBOutlet weak var pwTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
idTextField.delegate = self
pwTextField.delegate = self
}
}
step 2️⃣ : shouldChangeCharactersIn 함수 선언하기
//MARK: - 영문자와 숫자만 입력 가능하게 하는 delegate 함수 (-> id,pw textField에 적용)
extension LoginViewController: UITextFieldDelegate {
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
do {
let regex = try NSRegularExpression(pattern: ".*[^A-Za-z0-9].*", options: [])
if regex.firstMatch(in: string, options: [], range: NSMakeRange(0, string.count)) != nil {
return false
}
}
catch {
print("ERROR")
}
return true
}
}