【发布时间】:2016-10-08 21:50:22
【问题描述】:
我想在 iOS 上的 UITabBarController 选项卡内使用分段控件。没有它似乎可以工作,但是一旦我将它嵌入到 TabBarController 中,分段控件就不会显示在导航栏中。
是我遗漏了什么,还是因为某些 UI 指南而不受支持?我没有在 Apple 设计指南中找到任何内容...
【问题讨论】:
标签: ios uitabbarcontroller uisegmentedcontrol
我想在 iOS 上的 UITabBarController 选项卡内使用分段控件。没有它似乎可以工作,但是一旦我将它嵌入到 TabBarController 中,分段控件就不会显示在导航栏中。
是我遗漏了什么,还是因为某些 UI 指南而不受支持?我没有在 Apple 设计指南中找到任何内容...
【问题讨论】:
标签: ios uitabbarcontroller uisegmentedcontrol
第一个问题是:你想实现什么——你想提供什么接口?
在导航控制器中嵌入标签栏控制器是非常少见的。 标签栏控制器旨在用作主应用程序导航。您可以在许多 Apple 应用(音乐、电话等)中找到它
这些应用有一个带有多个导航控制器的标签栏控制器。例如,您的第一个选项卡是一个导航控制器,其根目录为普通视图控制器。
在此控制器中,您可以设置分段控制。
Apple 在其 Combined View Controller Interfaces 文档 (https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/CombiningViewControllers.html#//apple_ref/doc/uid/TP40011313-CH6-SW1) 中描述了这种行为。
更新
@kaushal 回答解决了您的问题……是的。但是,如果您尝试为选项卡视图控制器中包含的每个视图控制器设置导航栏的样式(也许您只想为一个视图控制器添加一个按钮为 rightBarButtonItem),这将不起作用。
如果您想在选项卡视图控制器的每个控制器上使用分段控件,只需隔离此控件的代码并在每个控制器中重用它即可。
这将达到相同的效果,但您将拥有更简洁的软件设计。
【讨论】: