2017-03-16 56 views
0

打印视图的约束,它们显示出了这样的:NSLayoutConstraint描述是随机不同

<__NSArrayI 0x14020baa0>(
<NSContentSizeLayoutConstraint:0x14026bda0 H:[PinView:0x1401f4e80(93)] Hug:250 CompressionResistance:750>, 
<NSContentSizeLayoutConstraint:0x14026d1f0 V:[PinView:0x1401f4e80(269)] Hug:250 CompressionResistance:750>, 
<NSLayoutConstraint:0x140266560 V:|-(0)-[UIView:0x1401fad10] (Names: '|':PinView:0x1401f4e80)>, 
<NSLayoutConstraint:0x140232770 H:|-(0)-[UIView:0x1401fad10] (Names: '|':PinView:0x1401f4e80)>, 
<NSLayoutConstraint:0x140232800 UIView:0x1401fad10.bottom == PinView:0x1401f4e80.bottom>, 
<NSLayoutConstraint:0x14024a6d0 UIView:0x1401fad10.trailing == PinView:0x1401f4e80.trailing> 
) 

为什么第一4示出了视觉格式,和仅最后2示出了常规的(更清晰)格式?

description方法是基于创建方式返回不同的东西吗?

回答

0

正如你可以看到in the 2012 WWDC session 228

现在对于可与视觉形式来表达语法,它会显示在日志消息是语法的限制。

所以它实际上是“随机的”,就像系统根据约束本身选择合适的语法一样。
它也不依赖于它的创建方式。

我认为可以在NSLayoutConstraint中添加一个类别,其中您覆盖了description方法,并为所有约束返回相同的语法。