如何在iOS中处理多个UIAlertControllers?

时间:2015-10-15 19:20:11

标签: ios iphone uialertcontroller

我必须在iOS8之前的一个viewController中显示多个UIAlerts,我们可以将UIAlerts与标签一起使用,我们可以使用标签来识别clickedButtonAtIndex。

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if(alertView.tag == 1)
{
//UIAlert1 button clicked
}

if(alertView.tag == 2)
{
//UIAlert2 button clicked
}
}

所以我们可以做些什么。 如何识别不同UIAlertControllers的按钮点击。 因为一个alert1按钮单击我必须更改一些文本颜色和alert2按钮单击我必须弹出视图控制器。

2 个答案:

答案 0 :(得分:1)

UIAlertController是基于块的。

为每个操作创建一个UIAlertAction实例,并在点击按钮后传递要执行的块。

有关详细信息,请阅读Mattt Thompson的UIAlertController "review"

答案 1 :(得分:0)

您可以采取以下方式。

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
 {
  if(alertView.tag == 1)
    {
      //UIAlert1 button clicked
         if(buttonIndex==0){//say, **Cancel** button tag
            //alert2 "Cancel" button has tapped
          }else if(buttonIndex==1){say, **OK** button tag
            //alert2 "OK" button has tapped
           }
    }

  if(alertView.tag == 2)
    {
      //UIAlert2 button clicked
      if(buttonIndex==0){//say, **Yes** button tag
           //alert2 "YES" button has tapped
          }
    }
}