6

私は OS X で使用するアプリを作成していますが、新しい制約機能が Interface Builder (もちろん現在 Xcode に組み込まれています) でどれほど便利であるかに気付きました。実際、非常に便利で動的であるため、最小ウィンドウ サイズを設定する必要があるのか​​、それともウィンドウの制約に依存して最小値と最大値自体を設定する必要があるのか​​疑問に思っています。

OS Xはなんらかの方法でウィンドウサイズを制限する以外にも、ウィンドウの最小サイズと最大サイズを考慮しているように感じます.動的な動作とすべてのために、ウィンドウの最小高と最大高を動的に設定する制約に依存するスタイル。たとえば、制約のあるコントロールの最小幅を変更することにした場合、最小ウィンドウの最小幅も変更することを心配する必要はありません。

最小ウィンドウ サイズと最大ウィンドウ サイズを設定するために制約に依存する利点のさらに重要な例として、ユーザーがテキスト サイズなどを変更した場合、アプリケーション内の影響を受けるコントロールはサイズの制約を動的に変更できますが、静的に設定されるということです。最小および最大のウィンドウ サイズは、その動的な動作を台無しにします。

繰り返しになりますが、OS X では最小ウィンドウ サイズと最大ウィンドウ サイズが何らかの方法で考慮される可能性があり、そのために最小ウィンドウ サイズと最大ウィンドウ サイズを設定すると便利な場合があることを念頭に置いて、これらすべての利点を考慮する必要があります。OS Xがそれらを考慮しているかどうか、また考慮している場合、どのよう使用するかはわかりません。

Apple のドキュメントに目を通しましたが、満足のいく答えを提供するものは見つかりません。

4

1 に答える 1

2

このような状況で行う最善の方法は、自分で試してみることです。1 つのウィンドウといくつかのコントロールを備えた新しいアプリケーションを作成するのに 2 分もかかりませんでした。サイズ変更可能なウィンドウで遊んでみたいだけなら、コードを追加する必要はまったくありません。

ウィンドウ 1

このウィンドウには最小サイズも制約もないため、問題はすぐに明らかになります。次のようにウィンドウのサイズを変更できます。

ウィンドウ 2

ボタン間にいくつかの制約を追加すると、制約が提供する約束が示されます。ウィンドウは最小サイズで次のようになります。

ウィンドウ 3

ラベルに対するさらにいくつかの制約により、最終的に望ましい結果が得られました。

ウィンドウ 4

それは素晴らしいことですが、そこにたどり着くまでには少し手間がかかりました。制約の完全なセットを追加しませんでした。左側のボタンの間に既に 1 つあるため、右側の 2 つのボタン間の垂直方向の制約は冗長でした。多くのコントロールを持つウィンドウの場合、すべてのビューをカバーするのに十分な制約を設定することは、a) 非常に便利で価値がある、または b) お尻の痛みで余分な価値がほとんどない. それはあなたの状況によって異なります。より簡単な方法は、重なり合う可能性のあるコントロール (2 つのボタンとラベル) の高さとそれらの間の必要なスペースを合計し、それをウィンドウの最小高として設定することです。

ウィンドウの内容に応じて、どちらの戦略も有用であることがわかります。実際、それらが実際には 2 つの別個の戦略であるとはまったく思いません... 最小ウィンドウ ディメンションの設定は、実際には、追加している別の種類の制約にすぎません。たとえば、それ以下ではウィンドウがばかげているように見えたり、あまり役に立たなかったりするサイズがある可能性があるため、ウィンドウの最小サイズをそれらのサイズに設定できます。同時に、ローカライズされたバージョンでコントロールが重ならないように、ボタン間に制約を設定したい場合があります (たとえば、ドイツ語の名前はかなり長くなる傾向があります)。

于 2012-05-24T01:14:55.677 に答える