ios - 在ios中点击后退按钮后调用什么方法

标签 ios objective-c uiviewcontroller uinavigationcontroller

我有 2 个带有导航 Controller 的 View Controller 。 当我在第二个中使用 [self.navigationController popViewControllerAnimated:YES]; - 第一个打开但 viewDidLoad 中的方法没有调用。在这种情况下,第一个 Controller 调用了哪些方法?

最佳答案

导航 Controller 在将其 View 显示在屏幕上之前发送viewWillAppear: 到 View Controller ,然后发送viewDidAppear:

viewWillAppear:viewDidAppear: 中, View Controller 可以检查 self.isMovingToParentViewController。如果 isMovingToParentViewControllerYES,则首先将 View Controller 添加到导航 Controller (大概是因为它是导航 Controller 的 Root View Controller ,或者因为它被推送).如果 isMovingToParentViewControllerNO,则 View Controller 已经在导航 Controller 的堆栈中,并且正在弹出另一个 View Controller 以显示它。

阅读“Handling View-Related Notifications” in the UIViewController class reference .

关于ios - 在ios中点击后退按钮后调用什么方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15828575/

相关文章:

ios - 每月每一天的新类实例?

iphone - 将 UITextField 插入 TableView

ios - 在 ViewController 之间传递 bool 值

ios - 尝试在 <app.ViewController> 上呈现 <app.TabController> ,它已经在 swift 中呈现 <UIAlertController>

iphone - 为什么 UIViewController 在屏幕上被释放

ios - 具有大小类的 UIStackView

ios - iOS 应用中的定向广告

objective-c - 为什么我的核心数据模型不再起作用? Integer16 值翻转?

ios - 在外部调用的方法中使用 "self"

ios - 如何解析 JSON 对象数组的 NSString?