同様の質問: Autolayout でレイアウトされたサブビューのサイズに基づいて親ビューのサイズを変更する方法
Apple Example InfoBarStackViewDisclosureViewController
のように s (NSViewController サブクラス)をロードする NSStackView を取得しました。
これらは、任意の高さのビューを展開および縮小できます。NSStackView
を含む親ビューの高さを の内容に応じて変更したいと思いNSStackView
ます。動作するAppleの例では。
ただし、残念ながら、Apple は NSWindow のサイズを変更しており、私はCCNStatusItem
( CCNStatusItem Github )、Apple メニュー バーのステータス項目にアタッチするビューを使用しています。そのウィンドウは、NSStackView
ロード時に の内容に合わせてサイズ変更されますが、内容が変更されてもサイズ変更されません。
セクションを展開すると、コンテンツがオーバーフローし、ビューの下端でクリップされます。
すべての制約を調べて、正確に再現しようとしましたが、機能させることができませんでした。Apple の例では、すべてをプログラムで追加していますが、私は Interface Builder で NSStackView を追加しました。
私の質問は次のとおりです: 親ビュー (ウィンドウ) がスタック ビューの内容に合わせて動的にサイズ変更されるように、Interface Builder にはどのような制約がありますか? ビューを機能させるには、ビューのメソッドを呼び出す必要がありますか?
必要な情報を提供できなかった場合はお知らせください。
アップデート
受け入れられた答えは、それを行う正しい方法でした。これが結果です。CCNStatusItem のフォーク バージョンは、https://github.com/julianvogels/CCNStatusItem.gitにあります。