OK/キャンセルボタンを備えた 2 つの UIAlertViews があります。
次の方法でユーザーの応答をキャッチします。
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
私が抱えている質問は、現在開いているalertViewはどれですか?
それぞれでOK/キャンセルをクリックするときに行うアクションが異なります...
OK/キャンセルボタンを備えた 2 つの UIAlertViews があります。
次の方法でユーザーの応答をキャッチします。
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
私が抱えている質問は、現在開いているalertViewはどれですか?
それぞれでOK/キャンセルをクリックするときに行うアクションが異なります...
いくつかのオプションがあります:
アイバーを使用します。アラート ビューを作成する場合:
myFirstAlertView = [[UIAlertView alloc] initWith...];
[myFirstAlertView show];
// similarly for the other alert view(s).
デリゲート メソッドでは、次のようになります。
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (alertView == myFirstAlertView) {
// do something.
} else if (alertView == mySecondAlertView) {
// do something else.
}
}
tag
のプロパティを使用しUIView
ます。
#define kFirstAlertViewTag 1
#define kSecondAlertViewTag 2
UIAlertView *firstAlertView = [[UIAlertView alloc] initWith...];
firstAlertView.tag = kFirstAlertViewTag;
[firstAlertView show];
// similarly for the other alert view(s).
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
switch (alertView.tag) {
case kFirstAlertViewTag:
// do something;
break;
case kSecondAlertViewTag:
// do something else
break;
}
}
サブクラスUIAlertView
化してプロパティを追加しuserInfo
ます。このようにして、アラート ビューに識別子を追加できます。
@interface MyAlertView : UIAlertView
@property (nonatomic) id userInfo;
@end
myFirstAlertView = [[MyAlertView alloc] initWith...];
myFirstAlertView.userInfo = firstUserInfo;
[myFirstAlertView show];
// similarly for the other alert view(s).
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (alertView.userInfo == firstUserInfo) {
// do something.
} else if (alertView.userInfo == secondUserInfo) {
// do something else.
}
}
UIAlertView
はサブクラスであるため、そのプロパティを識別にUIView
使用できます。tag
したがって、アラートビューを作成するときにそのタグ値を設定すると、次のことができるようになります。
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{
if (alertView.tag == kFirstAlertTag){
// First alert
}
if (alertView.tag == kSecondAlertTag){
// First alert
}
}