問題タブ [nsstackview]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - 自動レイアウト: 高さが動的に変更された場合、NSStackView は親ビューのサイズを変更しません
同様の質問: 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にあります。
macos - NSStackView でビューをドラッグしてシーケンスを並べ替えます
NSTableView で行うのと同じように、サブビューをドラッグしてNSStackViewのビューの順序を変更することはできますか?
cocoa - NSStackView の非表示のビューが非表示になっていませんか?
2 つの NSView サブクラスを含む垂直 NSStackView を作成しました (これらは背景色を描画する単なる NSView です)。非表示のビューを切り離すようにスタック ビューを設定しています。ビューの 1 つを非表示に設定しました。
どちらのビューもスタック ビューで非表示になりません。
私が正気でないことを確認するために、同じ NSView を 2 つ並べて、1 つを非表示にしました。案の定、人は隠れます。
スタック ビューの分布は、比例的に塗りつぶすように設定されています (それは重要ではないようです)。
IB では、動作は正しいようです。ビューの 1 つが非表示になります。
ここで信じられないほど明白な何かが欠けているに違いありませんよね?
関連する場合は、NSView サブクラス: #import "ViewWithBackgroundColor.h"
objective-c - NSStackView とコンテンツ保持の優先度
NSStackView
通常の と比較して 2 つの追加の優先順位がNSView
ありclippingResistancePriority
ますhuggingPriority.
。
しかし、4つの優先順位は少しやり過ぎです。
さて、上記のドキュメントでは、次のように言及しています。
スタック ビューには固有のコンテンツ サイズがなく、構成可能なコンテンツの圧縮抵抗もありません。
setContentCompressionResistancePriority:forOrientation:
スタック ビューでメソッドを呼び出しても効果はありません。
しかし、contentHuggingPriority
影に残されています。NSStackView
これにも反応しないようです-または、少なくとも私はそれを行うことができませんでした.
誰でもこれを確認または反証できますか?
objective-c - NSStackView を NSArray と NSMutableArray で埋める
ビューの配列で埋めるスタックがあります。
よく効きます。この配列を変更可能な配列に置き換えたい場合、どうすればよいですか?
「動的」スタックビューでこのコードを試し、最終的に可変配列を単純な配列に変換しましたが、機能しません:
私が持っている可変配列を出力する場合、consolleで:
どうすれば解決できますか?