实例化一个UIView
对象并将您的UISegmentedControl
作为子视图添加。然后将UIView
设置为您的表的headerView
。您可以通过调整您创建的UIView
的框架来添加填充。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 150 /* <-- adjust this value for more or less padding */)];
UISegmentedControl *segControl = [[UISegmentedControl alloc] initWithItems:@[@"One", @"Two", @"Three"]];
segControl.frame = CGRectMake(0, 90, 200, 29);
//calculate the middle of the header view
CGFloat middleOfView = headerView.bounds.size.width/2;
CGFloat middleOfSegControl = segControl.bounds.size.width/2;
CGFloat middle = middleOfView - middleOfSegControl;
//position the seg control in the middle
CGRect frame = segControl.frame;
frame.origin.x = middle;
segControl.frame = frame;
[headerView addSubview:segControl];
self.theTableView.tableHeaderView = headerView;
}
当然,你可以更多地混淆框架,让东西定位像你想要的那样。
修改分段控件的框架没有效果? – KIDdAe
我想知道是否可以以某种方式修改'header view'属性。 –