如何将UISegmentedControl添加到带边距的UITableView的Section头?

Seb*_*ldt 1 objective-c uitableview uikit ios

我最近添加了一个分段控件到我的tableview的节头,一切正常,但它调整错误的方式..我想应用一些边距,但如果我设置框架它没有任何影响的大小分段控制?我做错了什么?这是我的代码:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    if(section == 0) {
        UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:@[@"Segment 1", @"Segment 2",@"Segment 3"]];
        segmentedControl.backgroundColor = [UIColor colorWithWhite:1.0 alpha:0.95];
        [segmentedControl setFrame:CGRectMake(10, 0, self.view.bounds.size.width-10, self.view.bounds.size.height)];

        return segmentedControl;
    }
    return nil;
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Abh*_*rma 5

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {

    if(section == 0) {

        UIView * viewHeader = [[UIView alloc]initWithFrame:CGRectMake(10, 0, self.view.bounds.size.width-10, self.view.bounds.size.height)];
        [viewHeader setBackgroundColor:[UIColor clearColor]];

        UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:@[@"Segment 1", @"Segment 2",@"Segment 3"]];
        segmentedControl.backgroundColor = [UIColor colorWithWhite:1.0 alpha:0.95];
        [segmentedControl setFrame:CGRectMake(10, 0, viewHeader.frame.size.width , viewHeader.frame.size.height)];
        viewHeader addSubview:segmentedControl

        return viewHeader;
    }
    return nil;
}
Run Code Online (Sandbox Code Playgroud)