在滚动iOS8

时间:2016-04-20 12:19:58

标签: ios objective-c iphone uitableview

获取数据后,我重新加载tableview。我使用自动尺寸  不要覆盖下面的heightForRowAtIndexPath

self.tableView.estimatedRowHeight = 200; 
self.tableView.rowHeight = UITableViewAutomaticDimension;

iOS9中一切正常。但在iOS8中出现如下链接直到滚动。 iOS8 appear

我试过了:

  1. [_tableView setNeedsLayout]; [_tableView layoutIfNeeded]; [_tableView reloadData];之后,在iPhone 6Plus中发生其他问题。
  2. 我设置首选宽度自动而不是标记显式。
  3. 我设置了uitableviewcell配件类型无。
  4. 尝试重新加载部分。
  5. 在显示单元格后重试,重新加载表视图。之后在页面控制器中滚动另一个视图控制器时,会出现同样的问题。
  6. 尝试[cell layoutIfNeeded]
  7. 尝试了setPreferredMaxLayoutWidth

1 个答案:

答案 0 :(得分:0)

尝试重新加载viewDidappearviewWillappear中的数据并检查您的约束是否完美,因为UITableViewAutomaticDimension强烈建议使用自动布局。

更新:

根据评论,尝试在cellforrowAtindexpath

中添加这两行
[cell layoutIfNeeded];
[cell updateConstraintsIfNeeded];

为了使UITableViewAutomaticDimension工作,您必须设置相对于单元格容器视图的所有左,右,底部和顶部约束。如果你错过了这样,那就检查一下

希望这个 会有所帮助:)