我正在使用视图创建视图控制器。该视图名为timerView,它包含一个timerLabel。 NSTimer每秒钟后都会更新标签。工作正常。
但我想要做的是,每当出现任何其他视图控制器时,应该在其上提供timerView,并且还应该定期更新NSTimer。
我有一个解决方案,可以为每个视图控制器创建一个timerView,timerLabel和NSTimer。然后我必须通过最后查看contorller计时器值来更新它。但它不可行。
如何只创建一个视图并在每个控制器上使用它,并定期更新一秒钟。
任何建议将不胜感激。
答案 0 :(得分:2)
我只想创建一个视图,并希望在每个控制器上使用它,并定期更新一秒钟。
为什么呢?而不是使用单个计时器视图,创建任意数量的计时器,并使用单个计时器来驱动它们。从一个视图中移除定时器视图,因为它消失了,并将其添加到即将出现的另一个视图中,但我认为它不会给你带来任何有用的东西。
如果当前已用完或剩余时间对整个应用程序很重要,那么您应该拥有该信息的单一来源。也就是说,您应该有一个计时器,并使用它来驱动正在显示的任何计时器视图。一种简单的方法是让计时器的动作发布通知,并让任何可见的计时器视图监听该通知。这最大限度地减少了定时器和任何定时器视图之间的耦合 - 定时器不需要知道定时器视图,定时器视图不需要直接访问定时器。
确保定时器视图在它们出现时开始监听通知(以便它们开始更新)并在它们消失时停止监听(因为如果它们不可见则不需要更新)。
答案 1 :(得分:1)
您还可以添加视图控制器的视图,也可以添加视图。请访问以下网址。它可能很有用。
iPhone how to add a view controller's view to another view controller's view?