在iOS 7/iOS 8上使用自动布局时单元格高度错误

在iOS 7/iOS 8上使用自动布局时单元格高度错误,ios,uitableview,autolayout,nslayoutconstraint,autoresizingmask,Ios,Uitableview,Autolayout,Nslayoutconstraint,Autoresizingmask,我的问题类似于等问题。现在内容视图不再有高度问题,因为我在iOS 7的自定义表视图单元格的updateConstraints中向内容视图添加了自动调整大小的掩码(灵活的高度/宽度) 但细胞的高度仍然存在同样的问题。它从自动调整大小的遮罩获得44个点的高度 Unable to simultaneously satisfy constraints // ... "<NSAutoresizingMaskLayoutConstraint:0x7a4f61f0 h=-&- v=--&am

我的问题类似于等问题。现在内容视图不再有高度问题,因为我在iOS 7的自定义表视图单元格的
updateConstraints
中向内容视图添加了自动调整大小的掩码(灵活的高度/宽度)

但细胞的高度仍然存在同样的问题。它从自动调整大小的遮罩获得44个点的高度

Unable to simultaneously satisfy constraints  
// ...
"<NSAutoresizingMaskLayoutConstraint:0x7a4f61f0 h=-&- v=--&
V:[TestCellAuto_CustomCell:0x7a43bb10(44)]>"
无法同时满足约束
// ...
""
布局被完全破坏,在输出中我得到了上面的错误。在iOS 8.1上,一切正常。只有iOS 7会出现这种问题

我如何告诉iOS它应该计算正确的单元格高度

似乎必须设置
行高
或实现
行高路径
,如中所述

我的单元格高度总是相同的,但我不知道为什么自动布局不能在iOS 7上正确计算行高度。在iOS 8上,旋转后的行高度错误,布局混乱。只有在
中调用
reloadData
时,RotateToInterfaceOrientation:duration:
才能解决问题。但是对于iOS 7,我仍然需要设置高度。这不是一个理想的解决方案

总而言之,这就是我现在要做的:

iOS 7:

  • self.contentView.autoresizingMask=uiviewautoresizingflexiblewhight | UIViewAutoresizingFlexibleWidth在添加约束和
  • 定义固定的
    行高
  • 第一个用于
    contentView
    ,第二个用于
    UITableViewCell

    iOS 8:

    • 我可以设置固定的
      行高
    • 使用
      中的
      重新加载数据
      将旋转到接口方向:持续时间:

    自动布局有什么问题?我做错什么了吗?是否始终设置固定高度?

    iOS 7不允许根据约束自动计算单元格高度。iOS 8确实允许这样做。如果您需要支持iOS 7,您必须自己根据约束/隐式大小执行计算。谢谢您的回复。为什么在iOS 8上旋转设备时大小信息会丢失?我好像错过了什么。对于iOS 8,我不需要计算——它是按照您所说的自动完成的(除了旋转问题)。你的计算结果怎么样?与在UITableView中使用自动布局进行动态单元格布局和可变行高的链接帖子中的情况相同?我不知道为什么在iOS 8上旋转时大小信息不起作用。它应该会起作用,所以我想这一定是你的限制。对于iOS7,我总是使用固定的行高,但基本上,如果你遵循链接的帖子,它会起作用。所以我不确定你错过了什么。我建议您发布一个关于iOS 8轮换问题的更具体的问题,并附上示例代码和约束的图片。