【发布时间】:2014-06-16 06:47:16
【问题描述】:
我正在使用 Storyboards、iOS 7 SDK、Xcode 6 Brta。
我有一个 UITabBarController。
它有两个故事板关系:
(1) 与 UINavigationController 1 的关系,其中嵌入了 View Controller 1。
(2) 与 UINavigationController 2 的关系,其中嵌入了 View Controller 2。
每个视图控制器在其每个导航栏中都有一组通用的 UI 元素。例如选项按钮、刷新按钮等。
这些按钮在每个 View Controller 中的作用是相同的,但取决于特定的 View Controller 及其 Storyboard 设置。
例如:
用户按下视图控制器 1 的 [导航栏中] 的选项按钮,将发生 Segue xx1,导致从视图控制器 1 转换到选项视图控制器。
或者...
用户按下视图控制器 2 的 [导航栏中] 的选项按钮,将发生 Segue xx2,导致从视图控制器 2 转换到选项视图控制器。
(在这种情况下,每个 View Controller 都会导致出现相同的 Options UI,但通过不同的 Segue。)
显然,这复制了功能,引入了复杂性并且没有扩大规模。
我应该如何设计/重构它,以便按下出现在 2 或 3 或 n 个视图控制器中的按钮,在每个视图控制器中具有相同的行为,但没有重复代码和情节提要纠缠?
这有典型的模式吗?干杯。
【问题讨论】:
标签: ios objective-c design-patterns uiviewcontroller uitabbarcontroller