以编程方式在 UINavigationBar 下方的 UIToolbar 中添加 UISegmentedControl

Posted

技术标签:

【中文标题】以编程方式在 UINavigationBar 下方的 UIToolbar 中添加 UISegmentedControl【英文标题】:Programmatically add UISegmentedControl in UIToolbar below UINavigationBar 【发布时间】:2015-05-07 01:30:50 【问题描述】:

我正在尝试让它在 ios 7 和 8+ 上运行。

在 viewController 的 loadView 中,我添加了一个 UISegmentedControl 以及灵活的空格,作为 UIToolBar 的项目。然后我将UIToolbar 作为子视图添加到主视图,将垂直位置设置为导航栏的高度。

第一个问题。 UISegmentedControl 垂直偏离中心,因此它的顶部被切断。

第二个问题。旋转到横向会使这一切变得混乱。具体来说,UIToolbar 似乎会移动到导航栏下方,而UISegmentedControl 则不会。

自动调整大小问题?我尝试了各种设置,但似乎无法让它在UIToolbar 中垂直居中。

【问题讨论】:

【参考方案1】:

可能是您的 UIToolbar 约束设置不正确,并且分段控件周围没有灵活的空间。这是我制作的故事板文件的链接,该文件具有适当的约束和灵活的空间,经过测试可以正常工作。

预览:

这是故事板文件:http://www.filedropper.com/main_4

【讨论】:

嗯,这可能会有所帮助,但 OP 要求以编程方式实现 谢谢。不过,我正在寻找一种程序化解决方案,最好是通过自动调整大小。

以上是关于以编程方式在 UINavigationBar 下方的 UIToolbar 中添加 UISegmentedControl的主要内容,如果未能解决你的问题,请参考以下文章

UINavigationBar - 以编程方式设置标题?

使用完成按钮以编程方式添加 UINavigationBar

如何完全以编程方式添加 UINavigationBar?

以编程方式更改 UINavigationbar 背景颜色和标题字体/颜色

如何以编程方式在其上添加 UINavigationBar 和后退按钮

如何以编程方式设置 UINavigationbar 的背景颜色?