ios - UITableViewAutomaticDimension 在滚动 iOS8 之前不起作用

标签 ios objective-c iphone uitableview

获取数据后,我重新加载表格 View 。我使用自动尺寸
不要像下面那样覆盖 heightForRowAtIndexPath

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

iOS9 一切正常。但是在 iOS8 中看起来像下面的链接,直到滚动。
iOS8 appear

我试过:
  • [_tableView setNeedsLayout]; [_tableView layoutIfNeeded]; [_tableView reloadData];之后在 iPhone 6Plus 中出现其他 ui 问题。
  • 我设置首选宽度自动而不是标记明确。
  • 我将 uitableviewcell 附件类型设置为无。
  • 尝试重新加载部分。
  • 在显示单元格后尝试过,重新加载表格 View 。之后,在页面 Controller 中滚动另一个 View Controller 时,会出现同样的问题。
  • 试过 [单元格布局IfNeeded]
  • 试过 setPreferredMaxLayoutWidth
  • 最佳答案

    尝试重新加载 viewDidappear 中的数据或 viewWillappear并检查您的约束是否完美,因为 UITableViewAutomaticDimension强烈推荐自动布局。

    更新 :

    根据评论尝试在 cellforrowAtindexpath 中添加这两行

    [cell layoutIfNeeded];
    [cell updateConstraintsIfNeeded];
    

    为了使 UITableViewAutomaticDimension 工作,您必须设置所有相对于单元格容器 View 的左侧、右侧、底部和顶部约束。如果你错过了这样的然后检查

    希望这个
    会有所帮助:)

    关于ios - UITableViewAutomaticDimension 在滚动 iOS8 之前不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36743612/

    相关文章:

    iphone - NSDictionary - 如何将键作为字符串返回

    iOS 在标签更新后重绘所有 ui 元素

    ios - 在内部测试 iTunes 中选择要测试的版本为空?

    ios - 5.4.1-[Firebase/Core] [I-COR000022] Firebase Analytics不可用

    ios - 将图像复制到 xcode

    iphone - 在iphone上模拟触摸

    iphone - 如何可靠地管理后台请求?

    iphone - 如果我的非续订应用程序内购买收据在我的服务器上注册之前丢失了怎么办?

    objective-c - 在 Swift 中实现 Objective c 协议(protocol)

    objective-c - 在哪里可以找到 Product-Name-Swift.h 文件?