1 つのビューに複数のアラート ビューがあり、どのボタンが押されたかを検出するために次のコードを使用します。
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
NSString *title = [alertView buttonTitleAtIndex:buttonIndex];
if ([title isEqualToString:@"OK"]) {
//for one alert view
[passCode becomeFirstResponder];
} else if ([title isEqualToString:@" OK "]) {
//for another alert view, had to change "OK" to " OK "
[passCodeConfirm becomeFirstResponder];
}
}
1 つのビューに複数のアラート ビューがあり、それぞれが異なる処理を実行するため、ユーザーに「OK」と「 OK 」が同じものであると思わせる必要があります。これは機能し、見た目も問題ありませんが、少し乱雑な感じがします。これを特定のアラート ビューに指定してから、別のアラート ビューに指定するなど、別の方法があるはずです。これをどのように行うかご存知ですか? ありがとうございます!
ベストアンサー1
より技術的で、ユニークな設定の方がよいだろう鬼ごっこ別の UIAlertView を作成し、それを識別してそのデリゲート メソッドでアクセスします。
例えば、
UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Message" message:@"Are You Sure you want to Update?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok",nil];
[alert setTag:1];
[alert show];
[alert release];
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(alertView.tag == 1)
{
// set your logic
}
}