UIAlertController
을 사용하여 사용자에게 5 자리 CRN을 입력하라는 대화 상자를 표시합니다. UITextField
에 5 자리 숫자가 5 자릿수가 될 때까지 Add
버튼을 사용하지 못하게하고 싶습니다.UIAlertController의 UITextField에 따라 UIAlertAction을 비활성화하는 방법은 무엇입니까?
var alertController: UIAlertController!
var addAlertAction: UIAlertAction! {
return UIAlertAction(title: "Add", style: .default)
}
내가 viewDidLoad
방법을 초기화하고있어 방법은 다음과 같습니다 :
가 UIAlertController
에 대한 속성 설정이있다 : 여기
self.alertController = UIAlertController(title: "Add Class", message: "Input CRN", preferredStyle: .alert)
self.alertController.addAction(addAlertAction)
self.alertController.addAction(UIAlertAction(title: "Cancel", style: .destructive))
self.alertController.addTextField { (textField) in
textField.delegate = self
textField.keyboardType = .numberPad
}
여기에 있습니다. 내가하지 않도록하기 위해 노력하고있어 승 /를 UITextFieldDelegate
방법을 사용하여 버튼을 활성화합니다
func textFieldDidEndEditing(_ textField: UITextField) {
if ((textField.text?.characters.count)! == 5) {
self.alertController.actions[0].isEnabled = true
} else {
self.alertController.actions[0].isEnabled = false
}
}
그러나, 버튼이 비활성화 (또는 사용) 모든 시간이 남아있다. 활성화되지 않습니다. 무슨 일있어?
'textFieldDidBeginEditing'을 사용해보세요. – Santosh