2017-03-16 37 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方法,併爲所有約束返回相同的語法。