問題タブ [ios-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.
ios - iOS自動レイアウト:XcodeストーリーボードでiPadの横向きとiPadの縦向きに異なるレイアウトを設計する方法は?
iOS のサイズ クラスと自動レイアウトは初めてです。私は小さなアプリケーションで同じことを練習しています。以下は、自動レイアウトとサイズクラスを通じて達成しようとしていることです。以下は、それぞれ iPad の縦向きと iPad の横向きの特定のスクリーンショットです。
iPad のポートレート:: ここには 3 つのサブビュー、つまりグレー ビュー、グリーン ビュー、ピンク ビューがあります。
灰色のビュー - スーパー ビューの 3/4 の高さ、スーパー ビューの 2/3 の幅 グリーン ビュー - スーパー ビューの 3/4 の高さ、スーパー ビューの 1/3 の幅 ピンク ビュー - スーパー ビューの 1/4 の高さ、スーパー ビューの 1/4 の幅スーパービュー
iPad の横向き:: iPad の縦向きと同じ 3 つのサブビューですが、位置がわずかに異なります。
グレー ビュー - スーパー ビューと同じ高さ、スーパー ビューの 2/4 幅 グリーン ビュー - スーパー ビューと同じ高さ、スーパー ビューの 1/4 幅 ピンク ビュー - スーパー ビューと同じ高さ、スーパー ビューの 1/4 幅
サブビューが2つあれば、自動レイアウトで管理できます。しかし、私は上記のことを達成することができません。また、iPadの縦向きと横向きでレイアウトデザインを変えたいです。
ios - デバイスの垂直サイズに基づいて UIView の垂直サイズを自動的に設定します (自動レイアウトの変更を含む)
私はこれについてグーグルで調べてきましたが、私が持っている質問に対する答えを特定できないようです。
私はアプリを書いていますが、子 UIView の垂直方向のスペースで、向きに関係なく、事前に値をハードコーディングせずに、デバイスの高さまたは親デバイスの回転を維持したいと考えています。
私のレイアウトの構造は次のとおりです。
具体的には、コンテンツ ビューの垂直方向のスペースを、現在実行されているデバイス/向きのネイティブの高さに最初に設定し、デバイスが回転すると、垂直方向のスペースを新しい垂直高さ。UIScrollView は、水平方向にのみパンするために使用されます。
ビューの描画には Quartz を使用します。経由で初期の高さを設定しintrinsicContentSize
ますか? その場合、親ビューを照会するにはどうすればよいですか?
self.superview
コンテンツ ビュー内で使用しようとしましたが、うまくいきません。変更が発生したことを検出するにはどうすればよいですか?変更が発生した後、新しい Y 解像度を取得して適用するにはどうすればよいですか? また、必要がなければ自動レイアウトを無効にしたくありません。
はっきりさせていない場合、私が欲しいもののビジュアルは次のとおりです 。
ios - すべてのiPhoneデバイスに対して同じ行に複数のUIlabelを設定する方法
4 つの UILabels に制約を設定していますが、iphone 5s では正しく機能せず、6 および 6 plus では正しく表示されます。適切な制約を設定するには?
iPhone 5sでは右側に移動します。
最初のラベル、x 位置を設定し、次にラベル間のスペースを設定しました。次に、末尾のスペースから 4 番目のラベル <= を設定しました。しかし、適切な結果が得られません。
ios - デバイスの向きが変更されたときの自動レイアウト制約の問題
自動レイアウトの問題に直面しています。スクリーンショットに示すように、2 つのボタンが必要です。ランドスケープモードでも正しく表示されるようにします。
1) ボタンは水平方向に中央揃えにする必要があります。
2) ボタンの幅と高さは同じにする必要があります。
3) ボタンは、両方の向き (横向きと縦向き) で、スーパービューの中心から垂直方向に等距離にする必要があります。
条件3に問題があります。両方の向きのすべてのサイズのデバイスで UI を統一したい。
自動レイアウトを使用してこれを達成することは可能ですか、または向きの変更に関する制約を更新する必要がありますか?
スーパービューの中心に別のビューを追加し、そのビューに次の制約を適用して、望ましいUIを実現することを考えていました
1) サイズの別の透明なビューを追加します (スーパービューの幅、1)
2) 新しく追加されたビューに水平方向および垂直方向の中央揃え制約を追加します。
3) 幅、高さ、x 位置など、新しく追加されたビューに必要なすべての制約を追加します。
今、このような2つのボタンだけ
4) 新しく追加されたビューでボタン 1 に下部スペースの制約を追加します 5) 新しく追加されたビューでボタン 2 に上部スペースの制約を追加します
これにより、デバイスのすべての向きとサイズで同じになります。
追加のビューを追加する必要があるため、このアプローチは適切ではありません。誰かがより良いアプローチ/アイデアを持っているかどうかを提案してください
ios - スーパービューから自動レイアウトを削除しても更新されない
removeFromSuperview を介して制約を削除することにより、UILabel を拡張しようとしています。テキスト フィールド 1 が削除されます。しかし、それでも UILabel の幅を広げることはできません。参考までにサンプルコードを添付しておきます。完全にストーリーボードです。
ここに私の ViewDidLoad メソッドがあります:
制約の IBOutlet を持ってコード上で更新したくありません。私はこれを一度ストーリーボードに入れようとしています。