【发布时间】:2014-07-05 20:44:25
【问题描述】:
我正在创建一个应用程序,其主屏幕可以包含三个场景之一。我们称它们为 A、B 和 C。
这些场景的功能大不相同,用户界面也是如此。为了讨论,假设每个场景都是一种独特的逻辑难题,并且它们之间没有共享共同的 UI 元素、逻辑或功能。
因此,我希望每个场景都在其自己的 ViewController 中实现。场景将在“主菜单”上模态显示,因此主菜单会调用类似 [self presentModalViewController:ScenarioX animated:YES] 的内容来显示场景。
问题是:每个场景都会有一个特定的用户界面,这些界面在它们之间是通用的 - 例如,屏幕顶部状态栏中的倒计时时钟。该通用 UI 将有其自己的逻辑,尽管很少。它显然必须运行倒计时时钟,也许在时钟运行结束时显示“时间到了”消息,并响应关闭模态 ViewController 并返回主菜单的“返回”按钮。
在代码重用、内存管理等方面实现这一点的最佳方法是什么?
我会欣赏一定程度的技术特异性,而不仅仅是一种“方法”。例如,如果正确的答案是将状态栏/时钟创建为它自己的 UIView 子类,然后以编程方式将其添加到场景的视图中,很好:这是否意味着场景的 ViewController 必须运行时钟、返回按钮和等等?
或者是否可以创建一个 StatusClock ViewController 来管理状态栏、时钟等 - 并将其添加为场景视图的子视图?
【问题讨论】:
标签: iphone ios uiviewcontroller