У меня есть представление с некоторыми UITextViews. Пользователь может ввести данные о человеке, имя, фамилию, адрес электронной почты и т. д. Когда редактирование завершено, пользователь нажимает «Готово» в правом верхнем углу, и представление переходит к предыдущему представлению следующим образом:
- (void)save:(id)sender
{
[self.view.window endEditing:YES];
if (self.data ...)
{
[self updateUser];
[self.navigationController popViewControllerAnimated:YES];
}
}
Клиент запросил добавить некоторую проверку в некоторые поля, например, электронную почту. После проверки UIAlertView сообщает, что ввод данных недействителен, поэтому данные не сохраняются. Моя проблема в том, что кнопка OK в AlertView вызывает метод «сохранить», вызывается navigationController и вызывается popViewControllertAnimated.
Проблема здесь в том, что я хотел бы после UIAlertView избежать автоматического перехода к предыдущему представлению (через popViewControllerAnimated), а точнее, я хотел бы остаться в своем представлении редактирования и ввести новый действительный адрес электронной почты.
Код для просмотра предупреждений
- (void)alertInvalid {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"" message:NSLocalizedString(@"res_CurrentPasswordErrorAlert",nil)
delegate:nil cancelButtonTitle: NSLocalizedString(@"res_OK",nil) otherButtonTitles:nil];
[alertView show];
}
который вызывается через метод -(BOOL)textFieldShouldEndEditing:(UITextField *)textField
. Итак, как мне изменить свой код, чтобы после предупреждающего сообщения текущий UITextView снова стал реагировать?
UIAlertView Delegate
. - person Toseef Khilji   schedule 15.07.2014