Nic*_*nto 5 xcode constraints objective-c ios autolayout
我正在尝试调试+了解自动布局约束,我注意到在使用xcode调试视图时(使用酷层事物)我注意到在视图中的一个元素上,约束看起来像这样

而观点确实忽略了这些限制.
所有约束具有相同的优先级(1000),因为我想要它们.所有约束都是使用接口构建器而不是通过代码进行的,并且IB中没有警告或冲突.
但在运行时我确实看到了这一点
Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
(
"<NSLayoutConstraint:0x79684f10 V:[UIImageView:0x79686800(>=160)]>",
"<NSLayoutConstraint:0x7968a310 V:[UIImageView:0x79686800]-(130.5)-| (Names: '|':UIView:0x79686790 )>",
"<NSLayoutConstraint:0x7968a340 V:|-(0)-[UIImageView:0x79686800] (Names: '|':UIView:0x79686790 )>",
"<NSLayoutConstraint:0x796997b0 'UIView-Encapsulated-Layout-Height' V:[CoverCell:0x79686570(192)]>",
"<NSAutoresizingMaskLayoutConstraint:0x7969cd30 h=-&- v=-&- UIView:0x79686790.height == CoverCell:0x79686570.height>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x79684f10 V:[UIImageView:0x79686800(>=160)]>
Run Code Online (Sandbox Code Playgroud)
所以我从中了解到一些规则存在冲突,但我不确定如何阅读
这>=160是UIImageView的规则所以它的高度至少为160,而130.5是imageview的底部填充(所以当使用systemLayoutSizeFittingSize:UILayoutFittingCompressedSize高度不会是0.所以整个单元的最小高度是160 + 130.5)
剩下的错误我不明白.
约束有什么问题,为什么约束冲突发生在运行时而不是IB?
| 归档时间: |
|
| 查看次数: |
4917 次 |
| 最近记录: |