当前位置:  开发笔记 > 编程语言 > 正文

同一视图控制器中的两个警报视图

如何解决《同一视图控制器中的两个警报视图》经验,为你挑选了1个好方法。

UIAlertView在同一个视图控制器中有两个s,我想使用委托方法

-(void)alertView:(UIAlertView *?alertView clickedButtonAtIndex:(NSInteger) buttonIndex

按下警报视图中的按钮时将调用此方法.但是,两个警报视图都将调用相同的方法.

如何区分两个警报视图?



1> Stephen Darl..:

tag显示警报时,将属性设置为不同的值.它只是一个整数,可以在callback/delegate方法中查询.

这是一个例子(使用ActionSheet而不是AlertView,但原理完全相同):

UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Title"
                                                         delegate:self
                                                cancelButtonTitle:@"Cancel"
                                           destructiveButtonTitle:nil
                                                otherButtonTitles:@"Some option", nil];
actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
actionSheet.tag = 10;
[actionSheet showInView:self.view];
[actionSheet release];

然后在你的选择器中:

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
  switch (actionSheet.tag) {
    case 10:
      // do stuff
      break;
    case 20:
      // do other stuff
      break;
  }
}

当然,你使用常量而不是文字值,本地化字符串等,但这是基本的想法.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有