0

我正在尝试将自定义视图添加到我的每个 UITableView 部分的标题中。我正在使用此委托方法来返回所需的视图。它的部分工作是因为它导致单元格部分展开,就好像那里有一个标题一样,但是文本或 UIButton 都没有实际出现。我知道这个方法正在被调用,因为我在方法中放置了一个 NSLog 以查看它是否是。我是否犯了某种愚蠢的错误,或者这不是正确的做法?

 - (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
    {
        UIView* customView = [[UIView alloc]initWithFrame:CGRectMake(0.0, 0.0, tableView.bounds.size.width, 44.0)];
        customView.backgroundColor = [UIColor clearColor];

        UILabel * headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 44.0)];
        headerLabel.textColor = [UIColor darkGrayColor];
        headerLabel.font = [UIFont boldSystemFontOfSize:16];


        UIButton *headerButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        // add button to right corner of section

        return customView;
        switch (section) {
            case 0:
                headerLabel.text = @"Team Name";
                break;
            case 1:
                headerLabel.text = @"Captain";
                break;
            case 2:
                headerLabel.text = @"Wicket Keeper";
                break;
            case 3:
                headerLabel.text = @"Batting Order";
                headerButton.center = CGPointMake( 160.0, 22.0);
                headerButton.backgroundColor = [UIColor blueColor];
                headerButton.tag = section;
                [headerButton   addTarget:self action:@selector(enableCellReordering:) forControlEvents:UIControlEventTouchUpInside];
                [customView addSubview:headerButton];
                break;
            default:
                break;
        }

        [customView addSubview:headerLabel];
        return customView;
    }
4

4 回答 4

2

找到它了,你return customView;switch声明之前。

于 2013-04-30T18:11:12.533 回答
1

return你的customview两次,一次在switch语句之前,一次在switch语句之后,两次只需要删除return customView; 之前switch (section)

于 2013-04-30T18:19:43.440 回答
0

自定义标题 origin.x 和 origin.y 怎么样?当我将它们设置为非零时,但它仍然靠近 ledt 边缘。

于 2014-08-25T09:14:32.120 回答
0
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 18)];
    /* Create custom view to display section header... */
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 5, tableView.frame.size.width, 18)];
    [label setFont:[UIFont boldSystemFontOfSize:12]];
     NSString *string =[list objectAtIndex:section];
    /* Section header is in 0th index... */
    [label setText:string];
    [view addSubview:label];
    [view setBackgroundColor:[UIColor colorWithRed:166/255.0 green:177/255.0 blue:186/255.0 alpha:1.0]]; //your background color...
    return view;
}
于 2014-07-24T11:59:15.207 回答