2

我无法更改 UISegmentedControl 的位置。如果我这样做:

segControl2.frame = CGRectMake( segControl1.origin.x, segControl2.origin.y, segControl2.size.width, segControl2.size.height);

没有什么真正改变,每个人都说改变控件的框架应该可以做到,但事实并非如此。

4

3 回答 3

1
CGRect frame = [[UIScreen mainScreen] bounds];
UISegmentedControl *segControl = [[UISegmentedControl] initWithItems:[NSArray alloc] initWithObjects:@"One", @"Two", @"Three", nil];
segControl.frame = CGRectMake(frame.origin.x + 50, frame.origin.y + 50, segControl.size.width, segControl.size.height);
[view addSubview:segControl];

应该工作得很好。

于 2013-03-21T03:05:24.297 回答
0

要在添加为子视图后更改任何元素的位置,可以使用以下命令:

CGRect frame = segControl2.frame;
frame.origin.x = segControl1.frame.origin.x;
// for changes to other properties, do likewise. if no changes, don't do anything
frame.origin.y = ...

segControl2.frame = frame;
于 2013-03-21T05:41:10.960 回答
0

这可以是“自动布局”,您可以尝试以编程方式创建 UISegmentedControl。

于 2014-02-19T17:56:03.363 回答