1

NSViewConstraints のコツをつかもうとしています。私はそれらがとても好きです。以前のシステムよりもはるかに理にかなっています。

ウィンドウがあり、その上部に 22 ピクセルの高さのサブビューがあり、その下にテーブルとボーダーレスの NSTabView があります。目標は、最上位のサブビューの高さを決して変更しないようにすることです。

制約がなければ、ほとんどの作業は自動フォーマットで処理されます。唯一の問題は、ウィンドウのサイズを変更すると、上部のサブビューの高さが変わることです。私の一見論理的な対応は、高さを 22 に固定することでした。NSTabView は既にサイズ変更をうまく処理していたので、余白の制約はそのままにしました。

上部サブビューの高さを固定することで、ウィンドウは垂直方向のサイズ変更を拒否するようになりました! これが予想されること、またはその背後にあるロジックを示すドキュメントはどこにもありません。それを克服するためにさまざまな制約構成をいじりましたが、何も機能しません。

2 つの質問:

  1. 1 つのサブビューの高さを固定すると、ウィンドウの高さのサイズ変更がフリーズするのはなぜですか? Xcode のロジックとは何ですか?
  2. 目的の配置を実現するには、どのような制約を設定しますか?
4

1 に答える 1

1

あなたが説明したようにウィンドウを作成し、22pxビューの高さを固定することをテストしました. これにより、ビューの高さに対して 1 つのユーザー制約が作成されました。

ただし、親ビュー (ウィンドウのコンテンツ ビュー) にも 2 つの制約が作成されました。1 つは上部スペースから 22px ビューへ、もう 1 つは下部スペースから 22px ビューへ。これらの制約が、ウィンドウのサイズ変更を妨げているものです。2 番目の制約を選択して削除する必要があります (ただし、最初の制約はそのままにしておいてください)。

于 2012-10-18T00:53:08.273 に答える