如何解除presentmodelviewController与其他presentmodelviewController

时间:2011-08-18 16:52:47

标签: iphone

我有一个presentModelViewControler(A),当没有网络连接时弹出。现在我有另一个显示日历的presentModelViewController(B)。

难度是当B处于活动状态时,即显示日历视图,那么如果互联网发生故障,则A不会激活。

我希望当B处于活动状态时,如果A开始,即互联网发生故障,那么它会释放B并弹出A。

        CalendarTestViewController *clau=[[CalendarTestViewController alloc]init];



        if (clau.modalViewController==TRUE) {


            [clau dismissModalViewControllerAnimated:YES];
            [NSThread sleepForTimeInterval:0.2f];


        }




        [self.navigationController presentModalViewController:inter animated:YES];//network view controller

        [inter release];

}

3 个答案:

答案 0 :(得分:0)

为什么在没有网络活动时不显示警告对话框?使用模态视图控制器可能不是最好的主意。

答案 1 :(得分:0)

你必须分阶段完成。

  1. dismissModalViewControllerAnimated:在您的日历视图中。
  2. 等到view.modalViewController变为nil
  3. 目前的网络连接控制器。
  4. 第二步是不明显的一步。

    我这样做的方法是在我的方法中提供相当于网络连接的方法。我有一个循环,首先看modalViewController属性。

    类似的东西:

    -(void)presentNetworkModal
    {
         while (myVC.modalViewController) 
         {
             [NSThread sleepForTimeInterval:0.2f];
         }
         [myVC presentModalViewController:myNetworkNotifier animated:YES];
    }
    

答案 2 :(得分:0)

我建议你使用UIAlertView没有可用的网络。所以点击确定你可以退出应用程序。 ModalViewController不是一个好主意,但如果你真的想要这样的东西那么你可以使用UIActionSheet