通过故事板,有没有办法设置我的UISegmentedControl,以便段FIRST,SECOND,THIRD:FIRST总是得到一半,而SECOND和THIRD按内容大小相互比例?如果我可以在我的UISegmentedControl中添加UIViews,我可以轻松地做到这一点,但我不能。
答案 0 :(得分:1)
编辑:这实际上可能不是解决方案。我们无法分辨每个细分受众群的大小,至少使用故事板。
如果UISegmentedControl上的文本总是相同,并且您知道整个控件的大小,则以下内容应该有效:
单击Storyboard中的UISegmentedControl并转到Size Inspector。从那里,您可以选择每个细分的宽度。您将不得不做一些简单的数学运算来计算第一段的宽度。
答案 1 :(得分:0)
据我所知,你必须以编程方式执行此操作:
- (void)setWidth:(CGFloat)width forSegmentAtIndex:(NSUInteger)segment
这会产生类似
的结果- (void)viewWillAppear;
{
float firstWidth = self.view.frame.size.width / 2;
[self.segmentedControl setWidth:firstWidth forSegmentAtIndex:0];
// The others should resize automatically
}
我建议您完全跳过分段视图,而不是使用UIViews,这样您就可以使用Auto Layouts的全部功能。 UISegmentedControl样式从只有一个屏幕尺寸来处理的日子开始有点遗留。