调用包含UIViewController的viewWillDisappear时,子视图UIView将获得任何回调

时间:2018-11-22 10:24:40

标签: ios uiview uiviewcontroller nstimer

我有一个自定义控件,该控件已添加到UIViewController的视图中,其中包含一个计时器,我的要求是在ViewController消失时停止计时器(即,让我们说新的ViewController被压入堆栈)。现在,我正在手动调用自定义控件上的一个函数以停止ViewController的viewWillDisappear中的计时器,并且我想在自定义控件中处理它,因为它在多个地方都在使用,我可能还会在表格视图之类的东西中使用它将来。

欢迎提出任何建议。

3 个答案:

答案 0 :(得分:1)

对于您来说,也许是时候将控件从UIView升级到UIViewController了。您无需更改UIView实现,而只需添加控制器包装即可。

有一个容器视图,可以用作控件(用于UIView),但最好将所有逻辑移到容器视图后面的UIViewController,包括Timer。

关闭父级ViewController时,控制器的viewDidDisappear也可以自动调用。这是我现在可以获得的最好方法。希望您对此解决方案感到满意。

答案 1 :(得分:0)

可以。 1)创建的单例将为您的课程存储链接。并调用他的方法。 2)您可以为下一个vc创建此类的委托。并调用他的方法。 3)您可以从堆栈导航控制器获取vc。然后调用方法。

答案 2 :(得分:-1)

将调用子视图控制器的生命周期方法,因此您可以在子视图控制器的Rank Top 3 1 -350 2 150 3 -100 中停止时间。