以模态方式显示视图时是否调用viewDidDisappear

时间:2013-12-17 07:06:25

标签: ios iphone ipad

我正在编写一个代码,我需要以模态样式呈现视图控制器。我面临的问题是,当呈现视图时,前一个视图的viewDidDisappear被调用,这导致我需要的一些属性的重新分配。我该怎么办才能调用viewDidDisappear?

2 个答案:

答案 0 :(得分:2)

您可以使用标记来解决此问题。

  1. viewWillAppear方法中,将标志设置为true
  2. 当您呈现模态视图时,将标志设置为false
  3. viewDidDisappear检查标志是否为真,如果是,则释放资源
  4. 像:

    声明标志:

    BOOL flag;
    

    实施如下方法:

    - (void)viewWillAppear:(BOOL)animated
    {
       flag = true;
    }
    
    
    - (void)viewWillDisappear:(BOOL)animated
    {
       if (flag)
       {
          //release resources
       }
    }
    
    
    - (IBAction)showModal:(id)sender
    {
       //Assuming you are using such a method to display the modal view
       flag = false;
    }
    

答案 1 :(得分:0)

你不能这样做。因为当您推送或显示导致调用viewDidDisappear的视图控制器时。你可以做一件事。在观看期间将消失通话,在演示后set flag阻止您的功能,在解雇前reset flag阻止您的功能。