0

変更されていないように見えるrowHeightに問題があります(メソッドheightForRowで行いますが...)

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    if(indexPath.section == 0 && indexPath.row == 0) {
        return 80;
    } else
        return 0;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    [cell setSelectionStyle:UITableViewCellSeparatorStyleNone];

    // Configure the cell...


    if(indexPath.section == 0 && indexPath.row == 0) {

        NSLog(@"frame.size.height: %f rowHeight: %f", cell.frame.size.height, tableView.rowHeight);
    }

    return cell;
}

cell.frame.size.height と rowHeight の両方の値に対して 44.0000 と表示されます。

navcontroller でこのテーブルを初期化する方法は次のとおりです。

DPSettingsInformations *settingsInformations = [[DPSettingsInformations alloc] initWithStyle:UITableViewStyleGrouped];
    [self.navigationController pushViewController:settingsInformations animated:YES];
4

1 に答える 1

3

44 がデフォルトの高さなので、設定していないかのように聞こえますUITableViewDelegate

tableView:heightForRowAtIndexPath:を設定する必要がありUITableViewDelegateます。Nib、ストーリーボード、またはコードでこれが正しく設定されていることを確認してください。通常は と同時に設定しますUITableViewDataSource

例 (コードで設定する場合):

// UITableViewDataSource delegate
self.tableView.dataSource = self;
// UITableViewDelegate delegate
self.tableView.delegate = self;
于 2013-01-20T19:59:34.283 に答える