如何设置UISegmentedControl框架?

时间:2013-05-14 06:59:13

标签: ios objective-c

这是我的代码:

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:items];
segmentedControl.frame = CGRectMake(0.0, 0.0, 320.0, 30.0);

结果是segmentedControl左边和上边约有10个边距。

我尝试更改其框架的参数但不能更改x位置。 所以它总是有10磅的余量。如何删除此保证金?

修改

我明白了

UIToolbar的保证金为10pt。如果我只添加UISegmentedControl,它将正确显示。

3 个答案:

答案 0 :(得分:4)

您无法更改UISegmentedControl的高度,因为UISegmentedControl的高度根据其样式而固定

对于普通和边框样式,高度为43;对于条形样式,高度为29。

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:items];
segmentedControl.frame = CGRectMake(0.0, 0.0, 320.0, 29.0);
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;

segmentedControlStyle的{​​{1}}属性中设置 UISegmentedControlStyleBar

答案 1 :(得分:0)

使用此

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:items];  
segmentedControl.frame = CGRectMake(35, 200, 250, 50);  
segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;

答案 2 :(得分:0)

使用setter方法

[segmentedControl setFrame:CGRectMake(x, y, width, height)];

分段控件具有圆角矩形边框,这就是它显示的原因.Jus在其背景上设置了一些颜色,你可以看到段的正确框架