我有兩個帶有ok/cancel按鈕的UIAlertViews。
我趕上用戶響應:在同一視圖中顯示多個UIAlertViews
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
我遇到的問題是,這alertView是當前打開的?
我有不同的動作單擊確定何時做/取消每一個...
我有兩個帶有ok/cancel按鈕的UIAlertViews。
我趕上用戶響應:在同一視圖中顯示多個UIAlertViews
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
我遇到的問題是,這alertView是當前打開的?
我有不同的動作單擊確定何時做/取消每一個...
您有幾種選擇:
使用高德。在創建警報視圖:
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.
}
}
使用UIView
的tag
屬性:
#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
}
}
使用.TAG屬性來區分。 [這裏是你問的問題] [1] [1]:http://stackoverflow.com/questions/4346418/uialertviewdelegate-and-more-alert-windows –