【问题标题】:first of 3 segments of UISegmentedControl to take half of widthUISegmentedControl 的 3 个段中的第一个占据宽度的一半
【发布时间】:2014-09-16 15:30:55
【问题描述】:

通过情节提要,有没有办法设置我的 UISegmentedControl,以便在 FIRST、SECOND、THIRD 段中:FIRST 总是获得一半,而 SECOND 和 THIRD 则按内容大小相互成比例?如果我可以在我的 UISegmentedControl 中添加 UIViews,我可以轻松地做到这一点,但我不能。

【问题讨论】:

    标签: ios xcode storyboard uisegmentedcontrol


    【解决方案1】:

    编辑:这实际上可能不是解决方案。至少使用情节提要无法判断每个片段的大小。

    如果 UISegmentedControl 上的文本总是相同的,并且您知道整个控件的大小,那么以下应该可以工作:

    单击情节提要中的 UISegmentedControl 并转到 Size Inspector。从那里,您可以选择每个段的宽度。您必须做一些简单的数学运算来计算第一段的宽度。

    【讨论】:

    • 感谢您的帮助。 +1
    【解决方案2】:

    据我所知,您必须以编程方式执行此操作:

    - (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 来代替,这样您就可以使用自动布局的全部功能。 UISegmentedControl 样式是从只有一种屏幕尺寸需要处理的日子遗留下来的。

    【讨论】:

      猜你喜欢
      • 2021-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多