【问题标题】:Make 2 segments the size of 1 in UISegmentedControl在 UISegmentedControl 中使 2 个段的大小为 1
【发布时间】:2015-05-12 09:11:57
【问题描述】:

我有一个 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];

它没有给我想要的效果。宽度很奇怪。我怎样才能让宽度像上面的第二张图片?

【问题讨论】:

    标签: ios objective-c uisegmentedcontrol


    【解决方案1】:
    1. 1/3 的一半不是 1/4。现在是 1/6。

    2. 您可能希望设置 三个 段,并让最后一个自动设置以填充其余部分。

    3. 不要过早运行您的代码 - 否则,分段控件可能尚未达到其最终帧,因此您的 segmentWidth 会出错。

    【讨论】:

    • 我不这么认为。 (我在想有 4 个段,所以我将它除以 4。我知道这没有意义。)谢谢!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    相关资源
    最近更新 更多