2

我正在创建带有视图的视图控制器。该视图被命名为 timerView,它包含一个 timerLabel。NSTimer 每秒钟更新一次标签。它工作正常。

但我想要做的是,每当出现任何其他视图控制器时,timerView 都应该可用,并且它也应该定期使用 NSTimer 更新。

我有一个为每个视图控制器创建 timerView、timerLabel 和 NSTimer 的解决方案。然后我必须通过最后查看控制器计时器的值来更新它。但它不可行。

如何仅创建一个视图并在每个控制器上使用它,并定期更新一秒。

任何建议将不胜感激。

4

2 回答 2

2

我只想创建一个视图,并希望在每个控制器上使用它,并定期更新一秒。

为什么?与其使用单个计时器视图,不如创建任意数量的视图并使用单个计时器来驱动它们。从一个视图中删除计时器视图,因为它消失并将其添加到另一个即将出现的视图中是可能的,但我认为它不会真正为您带来任何有用的东西。

如果当前已用时间或剩余时间对整个应用程序很重要,则您应该拥有该信息的单一来源。也就是说,您应该有一个计时器,并使用它来驱动正在显示的任何计时器视图。一种简单的方法是让计时器的操作发布通知,并让任何可见的计时器视图监听该通知。这最大限度地减少了定时器和任何定时器视图之间的耦合——定时器不需要知道定时器视图,定时器视图也不需要直接访问定时器。

确保计时器视图在通知出现时开始监听(以便它们开始更新)并在它们消失时停止监听(因为如果它们不可见,则不需要更新)。

于 2013-06-17T06:15:13.993 回答
1

You may also add a view controller's view and similarly a view. Kindly visit following url. It may be useful.

iPhone how to add a view controller's view to another view controller's view?

于 2013-06-18T09:00:57.390 回答