2013-02-23 14 views
13

私は通常、私は、制約のためにログメッセージを読む方法を理解NSAutoresizingMaskLayoutConstraintのログ出力を読み込む方法は?

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

コンソールで次の出力を参照してください。しかし、autoresizingマスク制約は常に私を混乱させる。ログ出力の次の文字は自動サイズ変更マスクにどのように対応していますか?

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

私はかなり自動リサイズマスクレイアウトの制約を読んで説明していないいくつかのWWDC 2012本のビデオを見ました。 & V = & - -

+8

可能な複製[自動レイアウトをデバッグするときは、h = v = - & - ?](http://stackoverflow.com/questions/14290100/when-debugging-autolayout-what-is-the-meaning-of-the-autoresizing-mask-strings-s) – jrturton

+3

私のを見てくださいリンクされた質問の答え。 – jrturton

答えて

1

jrturtonは

H =(コメントを参照)彼の答えでのデバッグ出力の最初の部分を記述する

第2の部分はのために同じですすべての自動レイアウト制約:

H:| - (0) - [NSViewの]

これは、マスクがどのように制約になったかの詳細を示しています。 "H"は水平を意味し、 "|"ビュー(この場合はNSClipView)にあるコンテナを意味し、 - (0) - ビューの左側に0ピクセル(この場合は汎用NSView)に制限されていることを意味します。

したがって、ビューの左端をスーパービューに直接結合する制約が追加されました。 (右端が制約されていないので、自動サイズ調整マスクと同じように、微調整が行われます)

+0

また、NSLayoutConstraintオブジェクトの 'description'メソッドは、それが構築された方法を反映していることに注意することも重要です。したがって、2つの意味的に似た制約を作成したとしても、それらが異なるように構築された場合、ログ出力では異なるように見えます。 – toto

関連する問題