在 UIToolBar 中调整 UISegmentedControl 的大小,并针对不同的屏幕尺寸进行约束
Posted
技术标签:
【中文标题】在 UIToolBar 中调整 UISegmentedControl 的大小,并针对不同的屏幕尺寸进行约束【英文标题】:Resizing a UISegmentedControl within a UIToolBar with constraints for different screen sizes 【发布时间】:2016-08-25 21:13:12 【问题描述】:我在导航栏下方有一个UIToolBar
,在这个工具栏中是一个栏按钮项,其中包含一个UISegmentedControl
。问题是我无法向工具栏中的任何内容添加约束。当我将UISegmentedControl
放置在工具栏/栏按钮项内时,UISegmentedControl
将其自身固定到左边距,但是当我尝试将其宽度设置为与右边距相同时,我没有得到任何蓝色虚线边。我也看不到居中的选项,但我真的不想居中,我想让分段控件随着屏幕从 iPhone4 变为 iPhone6+(纵向)而增加宽度,这样它总是有一些 X-pts左边距和右边距。我该怎么做呢?
我有工具栏的宽度,对于 4.7 英寸的屏幕,它是 375。我也可以得到这个尺寸的分段控件的宽度,但是我不能告诉正确的宽度使左右边距相同,我只能目不转睛。
【问题讨论】:
【参考方案1】:您应该将UISegmentedControl
作为直接子视图添加到UIToolbar
(通过addSubview
或直接在界面生成器中)。虽然绕过UIBarButtonItem
在这里似乎很方便,但它剥夺了您完全按照需要布置的可能性,因为UIToolbar
将为您处理布局,您不能覆盖它。当您添加UISegmentedControl
作为子视图,可以根据需要添加约束,使其填满整个宽度。
【讨论】:
以上是关于在 UIToolBar 中调整 UISegmentedControl 的大小,并针对不同的屏幕尺寸进行约束的主要内容,如果未能解决你的问题,请参考以下文章
UIToolbar 的动画调整大小导致在 iOS <5.1 上剪切背景