如何使用UIAlertView关闭模态视图控制器?

时间:2011-12-02 10:06:16

标签: iphone objective-c ios xcode uialertview

我想通过点击我实现的UIAlertView上的取消来解除整个模态视图控制器。警报视图询问用户是否要注销,如果用户点击是,则它将解除模态视图控制器。

我如何在Xcode中执行此操作?

谢谢!

3 个答案:

答案 0 :(得分:2)

您可以查看uialertviewdelegate上的文档。

首先,您需要将您的类声明为uialertview的委托,然后实现该方法以获取用户单击的按钮索引。

您可以使用这些方法检查用户的选择

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex

答案 1 :(得分:0)

使用警报视图委托方法

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
   [self dismissModalViewControllerAnimated:YES];

}

如果你有超过OK按钮,你需要提到按钮索引,即

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

  if(buttonIndex==0)
   {
     //Do something 
   }

  if(buttonIndex==1)
   {
      [self dismissModalViewControllerAnimated:YES];
   }
}

答案 2 :(得分:0)

如果您使用alertView关闭模态视图控制器,

使用didDismissWithButtonIndex:(NSInteger)buttonIndex而不是clickedButtonAtIndex:(NSInteger)buttonIndex

后者导致崩溃。