当包含的 UIViewController viewWillDisappear 被调用时,子视图 UIView 会得到任何回调吗
Will subview UIView get any callback when the containing UIViewController viewWillDisappear gets called
我有一个自定义控件,我已将其添加到 UIViewController 视图中,其中有一个计时器,我的要求是在 ViewController 消失时停止计时器(即让我们说new ViewController 被压入堆栈)。现在我正在自定义控件上手动调用一个函数来停止 ViewController 的 viewWillDisappear 中的计时器,我想在自定义控件内处理它,因为它在多个地方使用,我可能会在类似table 以后也可以查看。
欢迎提出任何建议。
子视图控制器的生命周期方法会被调用,所以你可以在子视图控制器的viewWillDisappear(_ animated: Bool)
中停止时间。
对于您的情况,也许是时候将控件从 UIView 升级到 UIViewController。您无需更改 UIView 实现,只需添加一个控制器包装器即可。
有一个容器视图,它可以作为控件(对于 UIView),但所有逻辑最好移动到容器视图后面的 UIViewController,包括定时器。
当父级 ViewController 被关闭时,您的控制器的 viewDidDisappear 也可以自动调用。这是我现在能得到的最好方法。希望您对此解决方法感到满意。
可以。
1) 创建将为您 class 存储 link 的单例。并调用他的方法。
2) 您可以为这个 class 为您下一个 vc 创建委托。并调用他的方法。
3) 您可以从堆栈导航控制器中获取 vc。并调用方法。
我有一个自定义控件,我已将其添加到 UIViewController 视图中,其中有一个计时器,我的要求是在 ViewController 消失时停止计时器(即让我们说new ViewController 被压入堆栈)。现在我正在自定义控件上手动调用一个函数来停止 ViewController 的 viewWillDisappear 中的计时器,我想在自定义控件内处理它,因为它在多个地方使用,我可能会在类似table 以后也可以查看。
欢迎提出任何建议。
子视图控制器的生命周期方法会被调用,所以你可以在子视图控制器的viewWillDisappear(_ animated: Bool)
中停止时间。
对于您的情况,也许是时候将控件从 UIView 升级到 UIViewController。您无需更改 UIView 实现,只需添加一个控制器包装器即可。
有一个容器视图,它可以作为控件(对于 UIView),但所有逻辑最好移动到容器视图后面的 UIViewController,包括定时器。
当父级 ViewController 被关闭时,您的控制器的 viewDidDisappear 也可以自动调用。这是我现在能得到的最好方法。希望您对此解决方法感到满意。
可以。 1) 创建将为您 class 存储 link 的单例。并调用他的方法。 2) 您可以为这个 class 为您下一个 vc 创建委托。并调用他的方法。 3) 您可以从堆栈导航控制器中获取 vc。并调用方法。