0

UITableView の各セクションのヘッダーにカスタム ビューを追加しようとしています。このデリゲート メソッドを使用して目的のビューを返しています。ヘッダーがあるかのようにセル セクションが広がるため、部分的に機能していますが、テキストや UIB​​utton は実際には表示されません。メソッドに 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

あなたreturncustomview2回、switchステートメントの前に1回、switchステートメントの後に1回、前に削除する必要があり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 に答える