我面临一个与dismisscontroller相关的问题(如下所述)我尝试使用[self isBeingDismissed]
解决该问题,但对我没有用。
假设我们有 rootviewController - >在那个>上显示 ViewController1 然后呈现 ViewController2
如果你调用rootviewController的dismissModalViewControllerAnimated,那么它在iOS 8和iOS 7中的行为会有所不同。
1)在iOS 7中,你直接转到rootviewController,即没有调用ViewController1的方法。 2)在iOS 8中,第一个viewwill ViewController1的旁边是在解除时被调用的。
有没有其他方法可用于解决此问题?我尝试过使用
- (BOOL)isBeingPresented
- (BOOL)isBeingDismissed
- (BOOL)isMovingToParentViewController
- (BOOL)isMovingFromParentViewController
答案 0 :(得分:0)
虽然它不是最优雅的解决方案,你可以在viewcontroller 1中有一个变量,它是一个boolean - dismissInProgress,然后当viewcontroller 2即将被解散时,你可以在viewcontroller 1上设置这个值。然后你可以有一个if viewwillappear方法中的语句。
另一种选择是,将导航控制器附加到viewcontroller 1,然后当你呈现viewController 1时,你实际呈现导航控制器,然后当viewcontroller 2解散时,它实际上解散了导航控制器。