iOS 8 UITableViewCell具有UIImageView动态高度

时间:2015-01-19 02:23:47

标签: xcode uitableview ios8 autolayout

在尝试将iOS8动态高度应用到我的自定义UITableViewCell时,它应该扩展并保持它的宽高比,模拟器会抛出波纹管警告。

如果我删除了建议的约束,即UIImageView的宽高比,我将失去图像宽高比,并且图像被拉伸。

无法同时满足约束条件。     可能至少下列列表中的一个约束是您不想要的约束。试试这个:(1)看看每个约束并试着找出你不期望的东西; (2)找到添加了不需要的约束或约束的代码并修复它。 (注意:如果你看到你不理解的NSAutoresizingMaskLayoutConstraints,请参阅UIView属性的文档translatesAutoresizingMaskIntoConstraints)

<NSLayoutConstraint:0x7fccc8490680 UIImageView:0x7fccc8490560.width == 1.73571*UIImageView:0x7fccc8490560.height>
<NSLayoutConstraint:0x7fccc991e100 UIImageView:0x7fccc8490560.top == UITableViewCellContentView:0x7fccc848cc00.topMargin + 43>
<NSLayoutConstraint:0x7fccc991e150 UITableViewCellContentView:0x7fccc848cc00.trailingMargin == UIImageView:0x7fccc8490560.trailing + 4>
<NSLayoutConstraint:0x7fccc991e1f0 UIImageView:0x7fccc8490560.leading == UITableViewCellContentView:0x7fccc848cc00.leadingMargin + 57>
<NSLayoutConstraint:0x7fccc991e270 UITableViewCellContentView:0x7fccc848cc00.bottomMargin == UIImageView:0x7fccc8490560.bottom - 4>
<NSLayoutConstraint:0x7fccc849ac20 'UIView-Encapsulated-Layout-Width' H:[UITableViewCellContentView:0x7fccc848cc00(414)]>
<NSLayoutConstraint:0x7fccc84b19a0 'UIView-Encapsulated-Layout-Height' V:[UITableViewCellContentView:0x7fccc848cc00(249)]>

将尝试通过违反约束来恢复     

1 个答案:

答案 0 :(得分:1)

我刚刚找到了上述问题的解决方案。

将宽高比限制的优先级降低到750似乎解决了这个问题