ios - 为两个自定义 UITableViewCell 设置不同的高度

标签 ios objective-c uitableview

我的 TableView 中有两个自定义 UITableViewCell,我无法正确调整它们的大小。问题是在 IB 中,表格 View 有一个行高选项,它为两个单元格设置相同的高度。我不能只编辑 IB 中单元格的高度,为什么它不起作用,表格 View 的行高会覆盖它。我使用的是静态高度,所以我尝试根据单元格的类型进行设置,但无法正常工作。有没有可能只是我的 if 语句是错误的,或者我做错了整件事?

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

  InboxCellTableViewCell *cellMessage = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
  InboxCell2TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell2" forIndexPath:indexPath];

    if(cell) {

        [cellMessage layoutIfNeeded];
        return 200;

    } else {
         [cell layoutIfNeeded];
         return 155;

    }
} 

最佳答案

你绝对可以做到这一点,而且你会在 -heightForRowAtIndexPath 中做到这一点,正如你所怀疑的那样。

与其尝试加载单元格,不如使用 IndexPath 来确定那里的单元格类型,然后返回该单元格类型的正确高度。

在您的 cellForRowAtIndexPath 方法中,您必须有一些逻辑已经确定了给定 IndexPath 的单元格类型,因为您已经从该方法返回了不同类型的单元格?可以使用相同的逻辑在 heightForRowAtIndexPath 方法中返回适当的高度。

关于ios - 为两个自定义 UITableViewCell 设置不同的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28753069/

相关文章:

iOS 刷新 map View 上的注释

iphone - 事件未添加到 Iphone 5 默认日历中

ios - 为什么数据没有填充到我的自定义 ui TableView 单元格中

ios - XCUITest 和动态生成的 View

ios - 在 View 内的 View 之间交换

ios - 为什么在使用 NSMutableDictionary 时出现 NSConcreteMutableData 错误

iphone - 在UITableViewView中异步下载多个图像?

c++ - iOS OpenCV cvtColor 未知数组类型错误

ios - UITableview 下的滑动工具栏

iphone - 增加包含 2 个 UILabel 的自定义 UITableViewCell 的大小