所有uitableviewcells在iOS 9上都成为一条高度

Chi*_*ean 4 uitableview ios-autolayout

我有一个带有几个UITableView控制器的应用程序.在iOS 8.x上运行,每个表中所有单元格的高度将调整大小以适合单元格的内容(所有单元格都只包含带有纯文本的UILabel).现在,当在iOS 9上运行时,每个表上的每个单元格只有一行高.这适用于动态和静态表.我已经搜索了UIKit差异文档并进行了大量搜索,但是我找不到合适的组合来获得除了所有表格中所有单元格中一行高度以外的任何东西.

dba*_*art 11

我遇到了类似的情况.诀窍似乎是通过UITableView显式的委托方法实现动态大小调整.即使automatic故事板中的设置应该起作用 - 但事实并非如此.解决方案是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;
}
Run Code Online (Sandbox Code Playgroud)

如果有人知道为什么这在iOS 9中是必要的以及它与iOS 8的区别,我很乐意听到它.