1

OS X では、NSSplitViewA、B、C の 3 つのサブビューが垂直に積み上げられています。

ビュー B には最小の高さの制約があります。BC ディバイダを上に押すと、制約に達すると停止します。

ただし、min. B の高さの制約に達します (A には他の制約はありません)。

逆に、最大がある場合。B に高さの制約があり、BC 仕切りを下に引っ張った場合、仕切り AB を従わせたいと思います (他の制約が許す場合)。

AutoLayout でこれを達成する方法はありますか? そうでない場合は、関連するリソースへのアプローチ/ポイントを提案できますか?

ありがとう。

4

1 に答える 1

1

ドラッグ中に SplitView に追加された制約を見ると、NSSplitView が、分割線に隣接していないビューを現在の位置に保持する Required 制約を追加していることに気付くでしょう。

"<NSLayoutConstraint:0x6100000827b0 H:|-(512.5)-[View3]   (Names: View3:0x600000120500, '|':MySplitView:0x6000001203c0 )>"

ドラッグの最後に、これらは削除されます。

これらの制約が追加されていないか、優先度が低いだけで追加された場合、説明した動作が得られます。残念ながら、それらは必須であるため、推奨される回避策 (より優先度の高い制約を手動で追加するなど) さえありません。


NSSplitView でこれらの制約をより詳細に制御できるようにするには、拡張要求を提出することができます。

于 2014-07-04T18:13:05.177 に答える