【问题标题】:how to auto-stretch UISegmented Control horizontally to fill full UITableViewCell?如何水平自动拉伸 UISegmented Control 以填充完整的 UITableViewCell?
【发布时间】:2011-11-28 03:40:21
【问题描述】:

如何水平自动拉伸 UISegmented Control 以填充整个 UITableViewCell?在方向改变后它也会自动调整大小。

我尝试了以下方法,但这仍然不起作用。分段控件出现在左侧的单元格中,但不会水平拉伸。

    NSArray *itemArray = [NSArray arrayWithObjects: @"Feet", @"Metric", nil];
    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray];
    segmentedControl.selectedSegmentIndex = [self.config.isMetric boolValue] ? 1 : 0;
    segmentedControl.contentMode = UIViewContentModeScaleToFill;
    [cell.contentView addSubview:segmentedControl];
    cell.contentView.contentMode = UIViewContentModeScaleToFill;
    [segmentedControl release];

【问题讨论】:

    标签: iphone ios uitableview uisegmentedcontrol contentmode


    【解决方案1】:

    您需要为 UISegmentedControl 设置框架,在您的情况下,该框架与单元格的框架相同。

    segmentedControl.frame = cell.frame;
    segmentedControl.autoresizingMask = UIViewAutoresizingFlexibleWidth;
    

    【讨论】:

    • 嗨 Bourne - 那么没有办法自动拉伸吗?那么在这种情况下,我还必须在方向更改后手动调整大小?
    • 编辑了答案。现在应该也适用于方向开关。
    • 您还可以删除当前代码中设置 UIViewContentMode 值的这两行。
    • 实际上仍然无法正常工作 Bourne - 在按钮下方呈现了一些颜色 - 如果我尝试使用“cell.contentView.frame”而不是“cell.frame”,它会好一些但是有左右两端有几个像素的空间,有点像一个小边距。
    • 实际上是在使用“cell.contentView.frame”,实际上它非常接近,可能只有一个像素 - 看起来真的不太糟糕 - 可能只会影响那些非常挑剔的人
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 2015-11-19
    • 1970-01-01
    相关资源
    最近更新 更多