我有一个带有多个 UITableView 控制器的应用程序。在 iOS 8.x 上运行,每个表格中所有单元格的高度将调整大小以适合单元格的内容(所有单元格仅包含纯文本的 UILabel)。现在,在 iOS 9 上运行时,每个表格上的每个单元格只有一行高。这适用于动态表和静态表。我已经搜索了 UIKit diffs 文档并进行了广泛的搜索,但我找不到正确的组合来获得除了所有表格中的所有单元格中一行的高度之外的任何内容。
我也遇到过类似的情况。诀窍似乎是通过以下方式实现动态调整大小UITableView
的显式委托方法。即使设置automatic
在故事板中是supposed去工作 - 事实并非如此。解决方案是提供UITableViewAutomaticDimension
显式地通过委托方法,然后像平常一样提供估计的单元格大小:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewAutomaticDimension;
}
- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath {
/* Return an estimated height or calculate
* estimated height dynamically on information
* that makes sense in your case.
*/
return 200.0f;
}
如果有人确切知道的话why这在 iOS 9 中是必要的,以及它与 iOS 8 有何不同,我很想听听。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)