2013-02-23 70 views
13

मैं सांत्वनाNSAutoresizingMaskLayoutConstraint के लॉग आउटपुट को कैसे पढ़ा जाए?

"<NSAutoresizingMaskLayoutConstraint:0x100510500 h=--& v=&-- H:|-(0)-[NSView] 
    (Names: NSView:0x1016ab760, '|':NSClipView:0x1016a26b0)> 
    (Actual Distance - pixels):0" 

में निम्नलिखित उत्पादन को देखने के आम तौर पर मैं समझता हूँ कि कैसे की कमी के लिए लॉग इन करें संदेश को पढ़ने के लिए। लेकिन autoresizingMask बाधाओं हमेशा मुझे भ्रमित करते हैं। लॉग आउटपुट में निम्न वर्ण ऑटो-आकार बदलने वाले मास्क से कैसे मेल खाते हैं?

h=--& v=&-- H:|-(0)-[NSView]

मैं कई WWDC 2012 वीडियो जो काफी स्वत: आकार मुखौटा लेआउट की कमी पढ़ने की व्याख्या नहीं की थी देखा था।

+8

संभावित डुप्लिकेट [ऑटोटायआउट डीबग करते समय ऑटोरेसाइजिंग मास्क स्ट्रिंग्स का अर्थ क्या है जैसे एच = - & v = - & -?] (http://stackoverflow.com/questions/14290100/when-debugging-autolayout-what-is-the-meaning-of-the-autoresizing-mask-strings-s) – jrturton

+3

कृपया मेरी देखें जुड़े प्रश्न में जवाब। – jrturton

उत्तर

1

jrturton उसके जवाब में डिबगिंग आउटपुट के पहले भाग का वर्णन करता है (टिप्पणियों को देखने के)

ज = - & वी = & -

दूसरे भाग के लिए एक ही है सभी autolayout की कमी:

एच: | - (0) - [NSView]

यह सिर्फ विवरण दे रहा है कि मुखौटा एक बाधा में कैसे बदल गया। "एच" का मतलब क्षैतिज है, "|" का मतलब है कि आपका दृश्य कंटेनर है (इस मामले में एक एनएससीएलआईपी व्यू), - (0) - इसका मतलब है कि यह आपके दृश्य के बाईं ओर 0 पिक्सेल होने के लिए बाध्य है (इस मामले में एक सामान्य NSView)।

तो एक बाधा को दृश्य के बाएं किनारे को सीधे अपने पर्यवेक्षण में जोड़ना जोड़ा गया। (चूंकि दायां किनारा अनजान है, इसलिए यह ऑटोरेसाइजिंग मास्क की तरह हवा में घूमता है।)

+0

यह भी ध्यान रखना महत्वपूर्ण है कि NSLayoutConstraint ऑब्जेक्ट की 'वर्णन' विधि उस तरीके को दर्शाती है जिस तरह से इसका निर्माण किया गया था। इसलिए यदि आप दो अर्थात् समान बाधाएं बनाते हैं तो यह लॉग आउटपुट में अलग दिखाई देगा जब वे अलग-अलग बनाए गए थे। – toto