调整大小后iOS表视图单元格无法正常显示

时间:2014-04-16 12:26:57

标签: ios objective-c uitableview

我已经设置了6个静态单元格的表格视图,并且我试图在选择时扩展一个单元格(第三个单元格)。问题是,它在调用reloadRowsAtIndexPaths:后调整大小,但随后单元格显示为空白。如果我将单元格滚出视图,它会正确显示内容。

当我呼叫[tableView reloadData]时,单元格不是空白,但是,我无法欣赏动画。

有谁知道为什么会这样?

3 个答案:

答案 0 :(得分:1)

如果你设置一行的高度,那么你需要重新加载单元格的内容而不是整个表格的内容。如果你调用[tableview reloadData],那么它只是意味着你重绘整个表(没有高度校正)。

要重新加载表格中的单个单元格:

[tableView beginUpdates];
[tableView reloadRowsAtIndexPaths:indexPath] withRowAnimation:UITableViewRowAnimationNone];
[tableView endUpdates]; 

答案 1 :(得分:1)

我不知道我是否是唯一一个遇到空白静态单元问题的人。 我偶然发现了一个解决方案,在调用[tableView reloadData]

之后调用reloadRowsAtIndexPaths:

答案 2 :(得分:0)

  • 使用主线程重新加载相应的表视图行。
  

[[NSOperationQueue mainQueue] addOperationWithBlock:^ {

    // Reload the respective table view row using the main thread.
    [self.tblFiles reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:index inSection:0]]
                         withRowAnimation:UITableViewRowAnimationNone];

}];