【发布时间】:2014-11-13 20:23:59
【问题描述】:
我正在 iOS 8 上构建一个基本的表格视图。我观看了 WWDC '14 关于自动调整单元格大小的视频,并试图重现这个概念,但遇到了一些问题。在 viewDidLoad 上:我正在调用:
//estimate for my cells though they may vary
self.tableView.estimatedRowHeight = 300.0;
self.tableView.rowHeight = UITableViewAutomaticDimension;
当我的视图和表格加载时,性能还可以。当我单击一个单元格时,程序会将我带到详细视图。当我点击该视图上的后退按钮并返回到表格视图时,事情就开始变得奇怪了。然后,当我滚动时,单元格开始“跳跃”。通过跳跃,我的意思是他们滚动不流畅——他们倾向于从一个地方猛拉或跳到另一个地方。
我应该补充一点,内存不是问题,因为单元被重复使用并且后台数据很少。我的单元格(在故事板文件中)的约束也是蓝色的,我在调试器中没有看到自动布局约束异常。
还有其他人在 UITableViewAutomaticDimension 中看到过这种行为吗?它只是一个苹果的错误还是还有更多?谢谢。
【问题讨论】:
-
我也面临同样的问题?有什么解决方法吗?
-
@AhmadRaza 我最终做的是回到手工编码的单元格,以确保完全控制布局和功能。所以基本上,我没有使用界面生成器,而是在代码中布置单元格的所有元素,然后覆盖 tableView:heightForRowAtIndexPath: 来告诉 tableView 每个单元格的高度。
-
我向苹果提交了一个错误(关于这种行为),他们确认这是一个错误(并且是已经提交的错误的副本),但没有提供更多信息(非常烦人)。所以我假设 UITableViewAutomaticDimesion 已知有点错误。如果可能的话,我现在会避免它。
-
我已经实现了 WWDC2014 中的示例来演示这个问题,它可以在这里找到:github.com/IndieGoGo/WWDC-Dynamic-Type-Jumpy-Scroll-Issue 也提交了一个没有响应的错误。
标签: ios objective-c uitableview ios8