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 = @"Back";
}
- (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 <UIViewControllerTransitionCoordinator> coordinator;
coordinator = ;
if(coordinator && )
{
[coordinator notifyWhenInteractionEndsUsingBlock:
^(id <UIViewControllerTransitionCoordinatorContext> 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]