【问题标题】:What method is called after tap back button in ios在ios中点击后退按钮后调用什么方法
【发布时间】:2013-04-05 07:49:24
【问题描述】:

我有 2 个带有导航控制器的视图控制器。 当我在第二个中使用 [self.navigationController popViewControllerAnimated:YES]; 时 - 第一个打开但 viewDidLoad 中的方法没有调用。在这种情况下,第一个控制器调用的方法是什么?

【问题讨论】:

标签: ios objective-c uiviewcontroller uinavigationcontroller


【解决方案1】:

导航控制器在将其视图放在屏幕上之前将viewWillAppear:发送到视图控制器,之后发送viewDidAppear:

viewWillAppear:viewDidAppear:内部,视图控制器可以检查self.isMovingToParentViewController。如果isMovingToParentViewControllerYES,则视图控制器首先被添加到导航控制器(可能是因为它是导航控制器的根视图控制器,或者因为它正在被推送)。如果isMovingToParentViewControllerNO,则视图控制器已经在导航控制器的堆栈中,并且正在弹出另一个视图控制器以显示它。

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

【讨论】:

    【解决方案2】:

    在这种情况下,viewWillAppear 方法将被调用。

    -(void)viewWillAppear:(BOOL)animated
    {
    
    }
    

    【讨论】:

    • 谢谢你!现在我知道如何制作了!
    • 别忘了给[super viewWillAppear:animated];打电话! :)
    猜你喜欢
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 2016-10-27
    • 1970-01-01
    • 2012-12-26
    • 2014-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多