2014-12-24 23 views
1

我最近添加了一個分段控件到我的tableview的節標題,一切正常,但它調整了錯誤的方式..我想申請一些保證金,但如果我設置框架它沒有任何影響的大小分段控制?我做錯了什麼?這裏是我的代碼:如何將UISegmentedControl添加到帶有頁邊空白的UITableView的Section頁眉?

- (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; 
} 

enter image description here

回答

2

你返回UISegmentedControl實例,原因很明顯,你不能配置控制內部多。而不是嘗試創建一個UIView作爲標題視圖,並添加分段控制作爲子視圖。這樣你就可以在這個容器視圖中配置分段控件的位置了。

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; 
} 
相關問題