iOS Dev - 如何检测用户通过按“返回”访问此 UIViewController

Posted

技术标签:

【中文标题】iOS Dev - 如何检测用户通过按“返回”访问此 UIViewController【英文标题】:iOS Dev - How to detect that user gets to this UIViewController by pressing "Back" 【发布时间】:2014-03-09 19:59:05 【问题描述】:

我有一个带有 3 个标签的 ios 应用:

首页 Tab1 Tab2

在“主页”中,用户可以导航到视图 - UIViewcontroller1 - 以查看详细信息。当用户在UIViewcontroller1 中按“返回”返回“主页”时,我想在主页viewDidLoad() 中检测到用户通过按UIViewcontroller1 中的“返回”来这里。

有没有一种简单的方法可以检测到这一点?

【问题讨论】:

【参考方案1】:

我知道有几种方法可以做到这一点,它们都不是你想要的,但它们可能会起作用。

首先,你可以检测到UIViewController1viewWillDisappear的背面,像这样:

if ([self.navigationController.viewControllers indexOfObject:self] == NSNotFound) 
    //Do what you want to do here

其次,你可以让 HomeUIViewController1 的委托并调用你想要的任何方法。

第三,您可以在 Home 将 UIViewController1 压入堆栈并在 viewDidAppear 上检查时设置一个变量。

【讨论】:

【参考方案2】:

委托模式可以解决这个问题。

你应该看看这篇文章:

Passing data between View Controllers

【讨论】:

以上是关于iOS Dev - 如何检测用户通过按“返回”访问此 UIViewController的主要内容,如果未能解决你的问题,请参考以下文章

5月11日——IOS下如何检测用户是否安装微信

检测浏览器刷新

ios/objective-c: 检测 tabbarbutton 按下事件

DataGridView如何通过按下escape来检测用户何时从编辑控件中出来?

如何在 iOS 6+ 上检测用户何时强制隐藏 iPad 上的键盘

如何检测用户何时专门通过“最近使用的应用”返回应用?