一些调整大小的单元格和一些静态的两个UITableViews

时间:2014-11-09 16:38:15

标签: ios objective-c uitableview ios8

我在同一个ViewController中有两个UITableView,一个使用基于UILabel内容大小的动态高度,另一个使用所有单元格为静态高度的UITableView。我使用标签分隔了两个TableView。我试过用这个:

self.tableView1.rowHeight = UITableViewAutomaticDimension;

- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath {
    if (tableView.tag == 1) {
        return 114.0f;
    } else {
        if (indexPath.section == 0) {
            return 50.0f;
        } else if (indexPath.section == 2) {
            return 20.0f;
        } else {
            return 44.0f;
        }
    }
}

问题在于动态单元格不会动态变化,静态高度单元格最初具有正确的高度,但当它们滚出视图时,它们会更改为单元格的默认高度。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

实施时:

  - (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath

你需要实现这个和

 -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

通常是相同的代码,将其添加到您的保护:

 -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
 {    
 if (tableView.tag == 1) {
    return 114.0f;
} else {
    if (indexPath.section == 0) {
        return 50.0f;
    } else if (indexPath.section == 2) {
        return 20.0f;
    } else {
        return 44.0f;
    }
}
}