【发布时间】:2016-12-14 14:37:25
【问题描述】:
我试图检测视图控制器何时从导航堆栈中弹出,以某种方式我在堆栈的下一层有对控制器的引用(当前使用 Swift 3)。谢谢
【问题讨论】:
标签: ios uiviewcontroller uinavigationcontroller
我试图检测视图控制器何时从导航堆栈中弹出,以某种方式我在堆栈的下一层有对控制器的引用(当前使用 Swift 3)。谢谢
【问题讨论】:
标签: ios uiviewcontroller uinavigationcontroller
UINavigationController 有一个属性viewControllers,其中包含当前在堆栈上的视图控制器数组。您可以获取视图控制器数组,然后从该数组中获取倒数第二个视图控制器:
guard let navController = self.navigationController else {
print("We are not part of a navigation stack!")
return
}
let stack = navController.viewControllers
let stackCount = stackCount
if stackCount > 1 {
let nextVC = viewControllers[stackCount - 2]
//nextVC now contains the view controller one down from the current VC
} else {
//We are the root view controller
}
【讨论】: