菜鸟教程小白 发表于 2022-12-12 18:01:13

iOS 7 问题 : viewDidDisappear not being called after viewWillDisappear


                                            <p><p>我遇到的问题是,当我尝试使用当前 <code>ViewController</code> 的 iOS7 <code>viewDidDisappear</code> 中的默认返回 <code>swipeGesture</code> 弹出 ViewController 时> 并不总是在 <code>viewWillDisappear</code> 之后被调用。我使用 <code>UINavigationController</code> 作为 <code>rootViewController</code>。</p>

<p>在这种情况下,应用程序仍然被触发并且不会收到任何用户输入。有时应用程序崩溃,当我查看日志时:它显示“无法将自身添加为 <code>subview</code>”,并且在崩溃日志中,它显示 <code>EXC_BAD_ACCESS</code>。如何解决这个问题,但是当我在导航栏应用程序中使用后退按钮时正常工作。</p>

<pre><code>- (void)viewWillDisappear:(BOOL)animated
{
//            ;
    ;
    self.navigationItem.title = @&#34;Back&#34;;
}

- (void)viewDidDisappear:(BOOL)animated
{
    ;
}

-(void)zoomOutTableWithoutAnimation
{
    backgroundView.frame = CGRectMake(0,0,320,480);
    backgroundView.transform=CGAffineTransformMakeScale(1, 1);

    sideMenuTableView.transform=CGAffineTransformMakeScale(0.5,0.5);
    sideMenuTableView.frame = CGRectMake(0,150,self.view.frame.size.width/2, self.view.frame.size.height);
    sideMenuTableView.hidden = YES;
}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>正如您提到的向后滑动手势,这可能是由于交互式弹回。
正如 WWDC 2013 中提到的, session<strong>使用 ViewController 的自定义转换</strong>,您不能假设 viewWillDisappear 后面会跟着 viewDidDisappear。 viewWillAppear 和 viewDidAppear 也是如此。</p>

<p>我不知道你为什么要打电话
    <strong>[自行创建BarButtonITems]</strong>
在 viewWillDisappear 中,您的意思是 viewWillAppear 吗?
无论如何,在我看来 <strong></strong> 产生了一些副作用。</p>

<p>尝试在 viewWillDisappear 中使用以下代码来撤消副作用:</p>

<pre><code>- (void)viewWillDisappear
{
   ;
   id &lt;UIViewControllerTransitionCoordinator&gt; coordinator;
      coordinator = ;
      if(coordinator &amp;&amp; )
      {
            [coordinator notifyWhenInteractionEndsUsingBlock:
             ^(id &lt;UIViewControllerTransitionCoordinatorContext&gt; ctx)
             {
               if(ctx.isCancelled)
               {
                     
               }
             }];
      }
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于iOS 7 问题 : viewDidDisappear not being called after viewWillDisappear,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/21038639/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/21038639/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS 7 问题 : viewDidDisappear not being called after viewWillDisappear