1

这是我的代码:

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

结果是segmentedControl 的左边和顶部有大约10 pts 的边距。

我尝试更改其框架的参数,但无法更改 x 位置。所以它总是留有 10 pt 的边距。如何去除这个边距?

编辑

我想通了

UIToolbar 有 10pt 的边距。如果我只添加 UISegmentedControl,它将正确显示。

4

3 回答 3

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;

在 的属性中设置UISegmentedControlStyleBarsegmentedControlStyleUISegmentedControl

于 2013-05-14T07:09:43.907 回答
0

用这个

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:items];  
segmentedControl.frame = CGRectMake(35, 200, 250, 50);  
segmentedControl.segmentedControlStyle = UISegmentedControlStylePlain;
于 2013-05-14T07:03:31.823 回答
0

使用setter方法

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

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

于 2013-05-14T07:05:28.933 回答