iOS - 每次显示的视图更改时回调

Posted

技术标签:

【中文标题】iOS - 每次显示的视图更改时回调【英文标题】:iOS - Callback everytime the displayed view changes 【发布时间】:2014-02-19 15:40:39 【问题描述】:

我想知道是否无论如何我可以在每次显示的视图更改时获得回调并接收新显示的视图作为回调的参数?

这可以通过键值观察协议实现吗?

这里有更多细节:我开发了一个 SDK,所以我不知道客户端应用程序在做什么 wrt 控制器,但我想知道每次客户端应用程序呈现一个新的视图控制器时。或者换句话说,我想知道 UIWindow 上显示的视图何时发生变化。

非常感谢您的帮助。

【问题讨论】:

这是什么观点?它是如何更新的?它是您创建的视图还是来自某个第三方库的视图? 我说的是应用程序的 UIWindow,即每次出现新的视图控制器时都会更新主视图。 为什么?询问您正在尝试解决的问题,现在您认为解决方案可能是什么。视图更改由您的数据驱动,因此请注意这一点。 @Wain:我想在一个 SDK 中执行此操作,该 SDK 将集成到我无法控制的应用程序中。 【参考方案1】:

这是解决我问题的方法:http://broutille.wordpress.com/2011/06/09/ios-how-to-monitor-the-change-of-viewcontrollers-inside-a-uinavigationcontroller/。

为“UIWindowDidBecomeKeyNotification”通知添加一个观察者。

【讨论】:

以上是关于iOS - 每次显示的视图更改时回调的主要内容,如果未能解决你的问题,请参考以下文章

当被模态视图控制器覆盖时,iOS 6 视图控制器布局在方向更改后不会更新

Swift:Xcode 6.1.1 更改由代码块执行而不是按钮触发的视图

在 Android 视图模型中的内部网络更改回调时 LiveData 未触发 - Kotlin

iOS 在呈现视图控制器时更改按钮文本

iCarousel 每次触摸显示一个视图(幻灯片)

更改启动视图的 iOS 问题