問題タブ [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.
cocoa - NSSplitView と自動レイアウト
NSSplitView
サブビュー内で自動レイアウト制約を使用するにはどうすればよいですか?
私のNSSplitView
サブビューには 3 つの subview:topPane
がtableContainer
ありbottomPane
、次のように制約を設定します。
そして、コンソールでこれを取得しました:
これが原因だと思います<NSAutoresizingMaskLayoutConstraint:0x7fd6c3630430 h=--& v=--& V:[NSView:0x7fd6c4b22e50(0)]>
が、自動サイズ変更マスクを設定しているため、リセットできませんNSSplitView
。
分割ビュー内で自動レイアウトを使用する最良の方法は何ですか? そして、自動レイアウトなしで分割ビューサブビューの最小/最大サイズを処理する方法はありますNSSplitViewDelegate
か?
cocoa - Interface Builderで自動レイアウト制約を移動できますか?
自動レイアウト制約が間違ったアンカーポイントにスナップすることがあります。たとえば、コントロールをその上のコントロールに固定したい場合や、自動レイアウト制約がウィンドウの下部に固定される場合などです。制約を移動する方法はありますか?アスキーアートはこれをより明確にするはずです。これは私が持っているものです:
そして、これは私が代わりに欲しいものです:
下のチェックボックスを上に移動することで、制約を上のチェックボックスに固定できますが、それは私が望んでいることではありません。垂直方向のスペースを大きくしたいのです。(チェックボックスは単なる説明のためのものであり、私の実際のユースケースではさまざまなビューがあります。)
xcode - 実行時に特定のサブビューの自動レイアウトを無効にすることはできますか?
フレームをプログラムで操作する必要があるビューがあります。これは、フレームの原点を操作してスーパービューの周りをスクロールおよびズームするコンテンツにラップする一種のドキュメント ビューです。自動レイアウトは実行時にこれと戦います。
自動レイアウトを完全に無効にすることは、他のビューのレイアウトを処理するために合理的に使用できるため、少し厳しいように思えます。私が望むのは、ある種の「null制約」のようです。
xcode - xib ファイルを Xcode 4.4 に移行する
これは簡単なはずですが、驚くべきことに、それが可能か不可能かについての情報は見つかりませんでした.
古いバージョンの Xcode/Interface Builder で作成された .xib ファイルがいくつかあり、Xcode 4.4 の新機能を使用したいのですが、これまでのところ、古い .xib ファイルを削除して新しいファイルを作成することによってのみこれを達成できました。最初から。
cocoa - NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints を設定するには?
Cocoa Auto Layout メカニズムから次のメッセージが表示されます。
NSUserDefault NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints を YES に設定して、これが発生したときに -[NSWindow visualConstraints:] を自動的に呼び出します。
しかし、「NSUserDefault NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints を YES に設定する」方法がわかりません。
これを設定するにはどうすればよいですか?
cocoa - NSTableHeaderView は、自動レイアウトが分割ビューでスクロール ビューのサイズを変更するのを防ぎます
質問: ヘッダー ビューがあると、自動レイアウトによってスクロール ビューのサイズが変更されないのはなぜですか?
カスタムビューをスクロールビューに埋め込もうとしていますが、スクロールビューは分割ビューに囲まれています。Xcode 4.5 DP 4 で Interface Builder を使用して次のビュー階層を作成しましたが、Xcode 4.4 でも同じ問題が発生するようです。
ここで、TestView が NSTableHeaderView (-headerView 経由) プロパティを提供する場合、分割ビューの仕切りを下 (または右) までドラッグして TestView を非表示にすることはできませんが、TestView の初期幅または高さの境界まで停止します。-headerView プロパティが nil を返す場合、仕切りは自由にドラッグできます。
これは、新しい Cocoa アプリケーション プロジェクトを作成し、ビューを追加してプロジェクトを実行するだけで、いつでも再現できます。手順:
- 新しい Cocoa アプリケーション プロジェクトを作成する
- NSTableHeaderView インスタンスを返す headerView プロパティを持つ TestView クラスを作成します。
- MainMenu.xib を編集して分割ビューを追加する
- カスタム ビューを追加して TestView にします
- エディタ -> 埋め込み -> スクロール ビューを選択します。
- プロジェクトを実行する
(制約やその他の Interface Builder メニューには触れていません)
TestView.m:
ポインタがあれば、分割ビューの仕切りを再び動かすにはどうすればよいですか?
objective-c - スーパービューへのスケーリングとセンターキャレイヤー
レイヤーをスケーリングすると、結果の原点は常に CGPoint(0,0) に設定されます。スケール後、レイヤーがスーパーレイヤーの中心にあることを確認する最善の方法は何ですか?
macos - 自動レイアウト - デフォルトの間隔は、NSTextField と NSDatePicker の間で異なります [PIC]
自動レイアウトを使用してビューを整理しています。私は現在、プロジェクトのテスト/設計段階にあり、これを適切に機能させようとしています。
ウィンドウ内に多数の要素を積み重ねており、Visual Format Language を使用してビュー間の垂直距離を離しています。
VFL は次のとおりです。
そして、これが実際にどのように見えるかです:
すべての要素が同じ「-」識別子で区切られていても、実際のスペースは異なります。NSDatePicker は、ウィンドウ内の他のすべてのビューよりもオフセットが少ないように見えます。
どうしてこれなの?
objective-c - ズーム後に自動レイアウトベースのNSWindowが正しく再描画されないのはなぜですか?
Xcodeの標準Cocoaアプリケーションテンプレートからアプリケーションを作成し、自動参照カウントを使用するように設定しました。
追加したのは、MainMenu.xibのウィンドウにツールバーとテーブルビューだけです。この時点でアプリケーションを実行すると、アプリケーションは次のようになります。
次に、タイトルバーの緑色のズームボタンをクリックします。その後、ウィンドウが最大化され、デスクトップ全体がいっぱいになります。次に、ズームボタンをもう一度クリックします。ウィンドウは元の幅に縮小されますが、元の高さには縮小されません。最大化したときほどの高さではありませんが、元の高さよりもはるかに高くなっています。
次に、ツールバーを右クリックして非表示にします。ツールバーはアニメーション化されますが、すぐに再び表示されます。ただし、ボタンをクリックしたり、ウィンドウをドラッグして移動したりすることはできません。ツールバーが実際に非アクティブ化されているかのようです。これを説明するために、この状態でウィンドウのサイズが変更された場合は次のようになります。
なぜこれが発生し、それを防ぐために何をすべきですか?開発者向けプレビューではなく、OSX10.8とXcode4.4を使用しています。
更新:(2013年4月)これは実際にはCocoaのバグのようです。:-(
更新:(2013年6月)10.8.4以降、この問題を再現できなくなりました。:-)
iphone - 制約と回転について教えてくれる自動レイアウト マスターはいますか?
縦向きと横向きのビューで自動レイアウトの制約を見つけようとしています。ポートレートでは、320x200 ピクセルのコンテナー ビューがあります (ただし、どのビューでも構いません)。電話を横向きに回転させたとき、そのコンテナー ビューを 480x320 で画面いっぱいに表示したいと思います。
現在、私はこれを完全に IB で行っており、今のところその方法を維持しようとしています。ビューを希望どおりにサイズ変更するように設定しようとすると、青と紫の制約アイコンが表示されて苦労します。
WWDC の自動レイアウト ビデオを見て、他のビューで自動レイアウトが機能するようにしましたが、この一見単純な変更を行うことができません。
どんな助けでも大歓迎です。ありがとうございました。