我有一个 iOS View Controller ,它可以从 SourceViewController 中显示,也可以通过单击导航栏上的“<返回”来显示。
如何确定 ViewController 是否因用户点击/触摸 " < Back "
而出现在导航栏上。
最佳答案
viewDidLoad
在返回时不会被调用,因此您可以在那里设置某种标志并在适当的位置重置它(也许viewDidAppear
?)。至于每次从 SourceViewController
打开它时是否会调用 viewDidLoad
取决于您的代码 - 如果您每次都创建一个新实例,应该没问题。
举个例子:
class SampleViewController : UIViewController {
var isOpenedFromBackNavigation = false
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
if self.isOpenedFromBackNavigation {
// code that should be run if we navigated back here
}
self.isOpenedFromBackNavigation = true
}
}
关于ios - 找出 UIViewController 是否由于后退导航而出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38651589/