ste*_*her 26 lifecycle uinavigationcontroller uigesturerecognizer ios7
iOS 7新的刷卡到手势的姿势对视图控制器生命周期的影响是UINavigationController什么?
ste*_*her 43
iOS 7中的新功能是一种刷卡式的手势UINavigationController; 您可以从左向右滑动手指以执行通常使用后退按钮完成的操作.你需要注意的是,弹出过渡是可以取消的.
viewWillDisappear 叫做viewDidDisappear 叫做viewWillDisappear 叫做viewDidDisappear 叫做viewWillDisappear 叫做viewWillAppear 叫做viewDidAppear 叫做相应地更新您的期望和视图生命周期方法.
值得注意的是,即使用户中止弹出手势,也会viewWillDisappear在所有情况下调用该事实.这可能证明是谎言; 如果刷卡到弹出的手势中止,你的视图不会消失,是吗?
像我们所有人一样,我努力平衡addObserver/removeObserver我的应用程序中的呼叫,以防止崩溃.我重写视图控制器生命周期方法viewWillAppear/viewWillDisappear来执行内务处理,并维护一个setupPerformed标志以防止在视图控制器的生命周期中多次添加观察者.此外,我依靠这个技巧来确定视图控制器是否即将从导航控制器的堆栈中弹出并随后被释放,以便我可以知道何时准确地拆除我的观察者.
iOS 7使这种模式变得复杂.我不能再依赖视图控制器在viewWillDisappear被调用时被拆除.我不得不期待它可能会转过身来,大喊"开个玩笑",然后继续打电话viewWillAppear/viewDidAppear.
小智 6
好帖子!
正如你所说的那样,你不能再viewWillDisappear像你所描述的那样使用和'技巧'了,但是对于我来说,这在iOS7上可以很好地捕获后退按钮.
- (void)viewDidDisappear:(BOOL)animated
{
if (self.isMovingFromParentViewController == YES) {
// Do the tidy up as before....
}
}
Run Code Online (Sandbox Code Playgroud)
希望这有助于某人.
| 归档时间: |
|
| 查看次数: |
6933 次 |
| 最近记录: |