いくつかの UITextViews を持つビューがあります。ユーザーは個人データ、名前、姓、電子メールなどを入力できます。編集が終了すると、ユーザーは右上隅の [完了] をクリックし、ビューは次のように前のビューに戻ります。
- (void)save:(id)sender
{
[self.view.window endEditing:YES];
if (self.data ...)
{
[self updateUser];
[self.navigationController popViewControllerAnimated:YES];
}
}
顧客は、いくつかのフィールド (電子メールなど) で検証を追加するよう要求しました。検証後、UIAlertView はデータ入力が無効であることを通知するため、データは保存されません。私の問題は、AlertView の OK ボタンが「保存」メソッドを呼び出し、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 が再び応答するようにコードを変更するにはどうすればよいですか?