我无法更改 UISegmentedControl 的位置。如果我这样做:
segControl2.frame = CGRectMake( segControl1.origin.x, segControl2.origin.y, segControl2.size.width, segControl2.size.height);
没有什么真正改变,每个人都说改变控件的框架应该可以做到,但事实并非如此。
我无法更改 UISegmentedControl 的位置。如果我这样做:
segControl2.frame = CGRectMake( segControl1.origin.x, segControl2.origin.y, segControl2.size.width, segControl2.size.height);
没有什么真正改变,每个人都说改变控件的框架应该可以做到,但事实并非如此。
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];
应该工作得很好。
要在添加为子视图后更改任何元素的位置,可以使用以下命令:
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;
这可以是“自动布局”,您可以尝试以编程方式创建 UISegmentedControl。