Отключение кнопки UIAlertView
Я делаю UIAlertView
с текстовым вводом.
UIAlertView *alertView=[[UIAlertView alloc]initWithTitle:@"Save" message:@"Please Enter the Name of PDF" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
[alertView setAlertViewStyle:UIAlertViewStylePlainTextInput]
что я хочу делать, когда UITextField пуст, я отключу кнопку OK с помощью функции делегирования
- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView
{
return NO;
}
Когда пользователь начинает что-то писать в текстовом поле, кнопка OK должна включаться.
Ответы
Ответ 1
Пожалуйста, попробуйте
- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView
{
/* Retrieve a text field at an index -
raises NSRangeException when textFieldIndex is out-of-bounds.
The field at index 0 will be the first text field
(the single field or the login field),
The field at index 1 will be the password field. */
/*
1> Get the Text Field in alertview
2> Get the text of that Text Field
3> Verify that text length
4> return YES or NO Based on the length
*/
return [alertView textFieldAtIndex:0].text.length > 0;
}
Ответ 2
Вам следует лучше использовать этот метод UIAlertViewDelegate
:
- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView
{
UITextField *textField = [alertView textFieldAtIndex:0];
if ([textField.text length] == 0){
return NO;
}
return YES;
}
Обратите внимание, что это новый метод делегирования, который был введен в iOS 5.0