我想跟蹤2 UITextField
,如果它們爲空,則完成按鈕被禁用。在viewDidLoad
我禁用了按鈕,因爲所有UITextField
都是空的。所有文本字段有委託,我跟蹤他們的狀態-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
跟蹤多個UITextField的文本長度
if (textField == self.emailTextField) {
if (self.passwordTextField.hasText && [string length] > 0) {
[self.loginButton setEnabled:YES];
}
else {
[self.loginButton setEnabled:NO];
}
}
else if (textField == self.passwordTextField) {
if (self.emailTextField.hasText && [string length] > 0) {
[self.loginButton setEnabled:YES];
}
else {
[self.loginButton setEnabled:NO];
}
}
return YES;
我知道這是不是最好的跟蹤解決方案,因爲現在我有問題時,有人只刪除字符,字符串是空的,按鈕被禁用。預先感謝您尋找最佳解決方案。
你可以檢查self.textField.text的長度而不是字符串長度,但我建議你使用Reactive Cocoa – Drizztneko
是的,但問題是下一種情況:如果文本字段爲空,我鍵入一個字符,它仍然檢測到它是空的,因爲方法在前一個字符串被新(一個字符)替換之前觸發。 – Stefan
@Stefan當你點擊按鈕時直接檢查不是更好嗎?該按鈕始終處於啓用狀態,當點擊按鈕時,您檢查textField.text.length,如果爲0,則返回uialertview以通知文本字段爲空 – Ilario