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

它表示两个值都是 44.0000:cell.frame.size.height 和 rowHeight。

以下是我如何在 navcontroller 中初始化此表:

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

1 回答 1

3

44 是默认高度,所以听起来好像您没有设置UITableViewDelegate.

tableView:heightForRowAtIndexPath:需要UITableViewDelegate设置。确保在 Nib、Storyboard 或代码中正确设置。通常您将它与UITableViewDataSource.

示例(如果在代码中设置):

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