在UISegmentedControl中创build两个大小为1的段
我有一个UISegmentedControl
与storyboard
创build3段。 我想以编程方式添加另一个分段,并使中间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];
它没有给我的理想效果。 宽度很奇怪。 我怎么能得到宽度像上面的第二个图像?
-
1/3的一半不是1/4。 它是1/6。
-
您可能需要设置三个分段,并自动设置最后一个以填充余数。
-
不要太早运行你的代码 – 如果你这样做,分段控制可能还没有达到最终的框架,所以你的
segmentWidth
将是错误的。