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