在ios中点击后退按钮后调用啥方法

Posted

技术标签:

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

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

【问题讨论】:

视图已经加载,直到它们被弹出时才会卸载。如果您是新手,请不要使用 ARC,这只是我的建议。 另见:***.com/questions/1557290/… 【参考方案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];打电话! :)

以上是关于在ios中点击后退按钮后调用啥方法的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式调用 iOS 上的导航控制器后退按钮

IOS - 如何使默认的后退按钮调用展开segue

本机脚本 |在android后退按钮导航后调用ngOnInit

在Fragment上不调用onOptionsItemSelected()方法

后退按钮未触发 Chrome 中“beforeunload”中的方法

onOptionsItemSelected() 方法不会在 Fragment 上调用