問題タブ [autolayout]

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.

0 投票する
1 に答える
3775 参照

macos - 自動レイアウト contentView の最小サイズに基づいて NSWindow を自動サイズ変更する方法

現時点では、アプリの動作により、ハックがウィンドウのサイズをfittingSizeに変更する、私が書いたこの追加関数を呼び出すことができます。

しかし、この全能のハックではなく、ウィンドウが常に contentView の最小サイズになるように、組み込みの自動レイアウト コードを使用してこの動作を自動化できますか?

編集: [[self contentView] FittingSize] を確認できることがわかりましたが、変更された場合にこれをどのように観察できますか、それとも自分でトリガーする必要がありますか?

0 投票する
2 に答える
589 参照

xcode - 自動レイアウトに関する厄介な問題

自動レイアウト シートには大きな厄介な問題があります。値、幅を変更したり、標準をクリックしたり、アウトレットを変更したい場合よりも、無効になっているアウトレットよりも大きいものに変更したりする場合は、再選択する必要があります。 eは変更を行います...これは非常に迷惑です、いくつかの解決策はありますか?

0 投票する
1 に答える
1304 参照

xcode - プロジェクトで自動レイアウトを使用しないように Xcode に指示する

プロジェクトで autolayout を使用しないことを Xcode 4 に伝えることはできますか?
現時点では、作成されたすべての新しい xib に対して自動レイアウトがオンになっています。つまり、作成後に手動でオフにする必要があり、それは望ましくありません。

0 投票する
1 に答える
9931 参照

xcode - Xcode の自動レイアウトを使用してビューのサイズを変更する方法

複数の NSPopUpButton があるプロジェクトで、Xcode の自動レイアウト機能を初めて使用しています。今私が達成したいのは、ラベルと一緒に2つの popUpButtons を一列に並べることです。ウィンドウのサイズが変更されたときに、両方の popUpButtons の幅を調整しながら、互いに水平方向の間隔を保ちます。

ただし、制約をどのように適用しても、popUpButtons のサイズをウィンドウで変更することはできません。それらは常に水平方向の間隔の制約を破り、ラベルの間隔を増減するだけです。このスクリーンショットから、私が何をしたかが少し明確になることを願っています。

ここに画像の説明を入力

ラベルと popUpButtons の間の間隔を 1000 優先度の固定値に設定し、popUpButtons の幅の制約を初期サイズ以上に設定しました。

popUpButtons のサイズを変更するには、どのように制約を設定する必要がありますか?

0 投票する
2 に答える
3243 参照

xcode - Xcode で自動レイアウト ガイドを非表示にするにはどうすればよいですか?

Xcode の新しい自動レイアウト機能は非常に便利です。ただし、Xcode は常に自動レイアウト制約を青いガイドラインとして表示します。これらのガイドは、サイズ変更ハンドルもあるビューの中央と端に表示されるため、これは時々面倒です。

ここに画像の説明を入力

そのため、ハンドルをつかむことができないため、ハンドルをドラッグしてもビューのサイズを変更できないことがあります。クリックすると、常に青い制約ガイドラインが選択されます。(そして、サイズインスペクターを使用してサイズを変更する必要があります)。

これらの制約ガイドを (一時的に) 非表示にする方法はありますか?

0 投票する
1 に答える
1971 参照

objective-c - NSScrollView のドキュメント ビューでの自動レイアウトの問題

Lion の自動レイアウトを使用して、画像が中央に配置され、その周りに境界線があるスクロール可能なビューを含むこの単純なウィンドウを作成する最良の方法を見つけようとしています。私の素晴らしいASCIIアートを見てください:

NSScrollView のドキュメント ビューは、背景パターンを描画する反転した NSView サブクラスであり、その中にユーザーが選択した画像 (サイズが不定) を追加します。画像ビューを追加するときは、ドキュメント ビューの中央に配置するように制約を与えます。ドキュメント ビュー自体には、読み込まれた画像よりもわずかに大きくする必要があるという制約が与えられます。私が望んでいるのは明らかな動作です.scollviewよりも大きな画像をロードすると、スクローラーがアクティブになり、ウィンドウのサイズを変更すると、スクローラーが正常にアクティブ/非アクティブになります。

ただし、大きな画像を読み込むと、ドキュメント ビューは正常に拡大されますが、スクロール ビューとウィンドウが拡大されます。それ以降は、ウィンドウのサイズをこれ以上小さくすることはできません。明らかに私はそれを正しく行っていませんが、その理由はわかりません。

ドキュメント ビューの制約の優先順位を変更しようとしましたが、NSLayoutPriorityWindowSizeStayPut より上にあるものは何でも、ウィンドウは上記のように拡大します (私が推測するのは理にかなっています)。有効にします。

他の場所で設定する必要がある他の優先順位、必要な追加の制約、またはまったく別のアプローチがあるかどうかは誰にもわかりません..代わりに、ドキュメントビューの「固有のサイズ」を設定する必要がありますか? また、まだ見たことのない autolayout のオープン ソース/サンプル コードへのポインタも役立ちます。

0 投票する
1 に答える
3763 参照

objective-c - 自動レイアウトでウィンドウのサイズが変更されています

自動レイアウトが有効になっているペン先に、ビューコントローラのビューと、それを追加するためのプレースホルダービューを含むウィンドウがあります。プレースホルダーには、ウィンドウ内のスーパービューやその他のビューに関連する制約があり、ビューコントローラーを使用する前に、ウィンドウに合わせてプレースホルダーのサイズを変更します。後で、ペン先をロードして、そのトップレベルビューをプレースホルダーのサブビューとして追加します。また、手動で制約を作成して、プレースホルダーの端に揃えます。

すべて順調です。アプリ内のいくつかのインスタンスでこのパターンを使用していますが、一部のケースでは、ビューを追加した後、ウィンドウのサイズが変更されます。ビューがウィンドウの現在のサイズに拡大するのではなく、追加されたビューの最小サイズに縮小されます。

これを防ぐために私が見つけた唯一の方法は、ビューを追加してその制約を作成するときに、プレースホルダーとウィンドウの現在の状態の初期サイズを与えるようにビューのフレームも設定することです。場合によっては問題ありませんが、各エッジをプレースホルダーのスーパービューに揃えるだけの、より複雑な制約を定義できるようにしたいと思います。これらの各ケースのフレーム演算をコーディングしたくありません。

誰かが何が起こっているのか知っていますか?ウィンドウがすでにプレースホルダーのサイズを指定している場合(その逆ではありません)、現在のウィンドウサイズを優先させるためにサブビューを追加するときに何をする必要がありますか?

XcodeのIBウィンドウのポップアップメニューを見たことがありますが、これはサブビューとスーパービュー(すべてのペン先で前者に設定)にのみ影響する制約に関するもののようですが、この機能に関連して何が起こっているのでしょうか?それについてはまだ何も見つかりませんでした。

0 投票する
1 に答える
498 参照

cocoa - 自動レイアウトで最小限のコンテンツの幅を考慮するように NSOutlineView を設定する方法は?

内部にビューベースNSSplitViewの内部があり、たとえば1つの列があります。アウトライン ビューは垂直方向にのみスクロール可能である必要があり、列コンテンツの最小幅を考慮して収まるようにする必要があります。値を返す必要があると思いますが、{0,0} を返します。どうやってやるの?NScrollViewNSOutlineViewNSScrollView-(NSSize)fittingSize{minColumnWidth, 0}

0 投票する
6 に答える
52011 参照

ios - iOS 5 との下位互換性を維持しながら、iOS 6 で自動レイアウトを有効にする

以前のバージョンの iOS で古いデバイスとの互換性を維持しながら、iOS 6 の新しい自動レイアウト機能を利用する最善の方法は何ですか?

0 投票する
1 に答える
1439 参照

cocoa - ビジュアルフォーマット言語-パディングエリア

画面の上部と下部を抱き締める、サイズが静的なオブジェクトがいくつかあります。ただし、画面中央に向きを変えて伸ばしたい空白部分があります。

引き伸ばすことができる余分なクリアビュー[paddedView]を追加することで問題を解決しましたが、ビジュアルフォーマット言語だけでpaddedViewを使用せずにこれを行う簡単な方法があるかどうかを知りたいと思いました。