我有UISegmentedControl
在storyboard
中创建了3个细分受众群。我想以编程方式添加另一个段,并使中间2段的大小为1段。这是一张图片来说明:
在storyboard
:
我想以编程方式实现的目标:
这就是我的尝试:
CGFloat segmentWidth = self.segment.frame.size.width;
[self.segment insertSegmentWithTitle:@"titleName" atIndex:2 animated:NO];
[self.segment setWidth:segmentWidth / 4 forSegmentAtIndex:1];
[self.segment setWidth:segmentWidth / 4 forSegmentAtIndex:2];
[self.segment setWidth:segmentWidth / 3 forSegmentAtIndex:0];
[self.segment setWidth:segmentWidth / 3 forSegmentAtIndex:3];
它并没有给我带来理想的效果。宽度很奇怪。如何让宽度像上面的第二张图片一样?
答案 0 :(得分:0)
1/3的一半不是1/4。这是1/6。
您可能希望设置三个段并自动设置最后一个以填充剩余部分。
不要过早运行代码 - 如果这样做,分段控件可能尚未达到最终帧,因此segmentWidth
将出错。