首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIAlertViewDelegate和更多警报窗口

UIAlertViewDelegate和更多警报窗口
EN

Stack Overflow用户
提问于 2010-12-03 22:21:03
回答 3查看 2.3K关注 0票数 11

我有实现UIAlertViewDelegate的控制器。在实现中,我有:

代码语言:javascript
复制
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

方法。当我创建委派时,我将“UIAlertView”设置为“self”,它工作得很好。但问题是,现在我又多了一个警报视图,我希望每个视图都有不同的行为。那么如何检查哪个alertView发送了消息呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-03 22:29:47

UIAlertView是一个UIView子类,因此具有标记属性,您可以使用它来区分它们:

代码语言:javascript
复制
UIAlertView *alert1 = ... //Create alert
alert1.tag = kActionTag1;
//show alert

...

UIAlertView *alert2 = ... //Create alert
alert2.tag = kActionTag2;
//show alert

然后在委托方法中:

代码语言:javascript
复制
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
     if (alertView.tag == kActionTag1){
          // Perform 1st action
     }
     if (alertView.tag == kActionTag1){
          // Perform 2nd action
     }
}
票数 12
EN

Stack Overflow用户

发布于 2010-12-03 22:27:48

指向每个特定警报视图的指针在委托方法的alertView参数中发送。您只需跟踪指针(例如,通过实例变量),就可以知道哪个是哪个,并采取相应的行动。

票数 0
EN

Stack Overflow用户

发布于 2010-12-03 22:29:53

UIAlertView创建了一个tag属性。当你创建它的时候设置它,你可以在代理中检查标签。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4346418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档