На вашем месте я бы отключил и включил кнопку, пока пользователь печатает.Imho, лучше, чтобы кнопка выглядела отключенной, когда нет текста, чем когда пользователь нажимает кнопку, чтобы сказать ему, что ему не разрешено переходить к следующему представлению.Большинство собственных приложений Apple делают это так.
Такое поведение достигается с помощью метода UITextFieldDelegate , например:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
// "Length of existing text" - "Length of replaced text" + "Length of replacement text"
NSInteger textLength = [aTextView.text length] - range.length + [text length];
if (textLength > 0) {
doneButton.enabled = YES;
}
else {
doneButton.enabled = NO;
}
return YES;
}
Если вы предоставляете предварительно заполненное текстовое поле, вы должны включить кнопку в viewDidLoad (или где бы то ни быловы хотите), и если вы предоставляете пустое поле, вы должны отключить его изначально.