我是 iOS 开发的新手,在我正在开发一个应用程序的过程中,我遇到了一些疑问。我正在尝试构建一个将由多个 ViewController 复合的屏幕,但在 NavigationBar 上,我希望在标题上方有一个 UiSegmentedControl,类似于范围栏来控制子 ViewController 之间的导航。我想构建类似于我们在 HealthKit Dashboard 上拥有的东西:
.
您建议采用哪种方法来做到这一点?我知道一些问题已经解决了,但是经过长时间的研究我还没有得出结论。
在我的研究过程中,我注意到 NavigationBar 上的 UISearchBar
(用于构建 Scope Bar)仅适用于 UITableViewControllers
,我说得对吗?所以我认为这不是一种方法。
我的下一个想法是使用手动放置在 NavigationBar 下方的 UISegmentedControl
,然后使用 Containment Api 更改此屏幕的不同 ViewController。这里的问题是,我必须在所有子 ViewController 上复制 UISegmentedControl
。有什么办法可以不必复制它吗?
我尝试的另一种方法是使用 NavigationBar 和下面的 UISegmentedControl
为 NavigationBar 做我自己的 titleView。我不喜欢这个想法,尝试复制 NavigationBar 也不顺利。
最后,我想到的另一种方法是使用 UIPageViewController
。虽然这种方法对我来说听起来是个好主意,但我认为我还必须复制 UISegmentedControl
。
最后我认为最好的解决方案是在 NavigationBar 上有一个 UISegmentControl
,但我不知道如何实现它。
您认为实现我的想法的最佳方法是什么?我认为这很容易,因为这是我在许多应用程序中看到的一种模式。有什么建议吗?
我在 XCode 6.1.1 上使用 Swift for iOS 8 执行此操作。
非常感谢您的帮助。
最佳答案
您可以通过将片段添加为标题 View 并设置所需的提示来获得此效果。在界面生成器中,它看起来像这样:
关于ios - 标题下方 NavigationBar 上的 UiSegmentedControl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27583741/