レビューiOSの日記自動レイアウト08- [2020]

前文

UI自動レイアウトのための主な記録

テキスト

0コードによりフレームを計算する
画面の幅と高さを介して取得するために、この愚かな、非常に自由な、自動アスペクト比調整アセンブリコードが使用されている。
話を何も、使用する方法を使用する方法が挙げられます。

1.autoresizingは自動的に調整
中核アイデアは自動的にサイズ比適応制御フレームの親への参照である
(親制御フレームは現在100である子コントロール20)
親制御フレーム200、子コントロールになった場合)40となるであろう
、それが唯一の電流および制御親コントロールとの間の相対的な関係を設定することができないという欠点を有しています。

自動レイアウト2.autolayout
それは兄弟のピッチ制御を保証することはできません自動サイズ変更など。それが唯一の親コンテナに基づいて行うことができる
が、自動レイアウトは非常に便利なオートレイアウトの設定を持つことができます。

3.sizeクラス+自動レイアウト
アップルの画面には、より多くの、自動レイアウトと完璧にフィットすることはできませんので、
制約を使用して、完璧にフィットする。
それは別の画面にすることができ、異なるルール
のような:3.5インチの画面は、トップのボタンをしたいが、私は途中で4.7inchの表示には、このボタンを願っています

自動サイズ変更はお勧めしません古い技術であり、そしてラインを理解し
、メイン学習自動レイアウトすること、および自動レイアウトと自動サイズ変更が相互に排他的である必要があります。一つだけ。

自動サイズ変更によって物語を実装します:

かかわらず、画面サイズ変更、一貫性のあるコーナーボタンのそれぞれ画面の四隅に、4つの正方形のボタンに、。
1.親クラスへの参照を自動サイズ変更ので、ビュー内のビューに配置する必要があり
、このビュー内のボタンの内側に。
このあなたの携帯電話は問題ありません開始、しかし画面は、表示されるボックスの四隅をクロスオーバーしたときに、すぐに問題があります。

使用自動サイズ変更は、小さな定規ボタンの右をクリックして
自動サイズ変更オプション、6辺の合計(実際には二つある四辺を)見つけること。
親コンテナを基準にして外部の4面、、。
トップラインの親コントロールから距離が固定されていない
(固定されていない場合、このコンポーネントは親のシフトを追跡するつもりはない、超可変大型の、親、)
親コントロールからの距離が固定されていない左の行の
(固定されていない場合、その後、親クラスの幅が大きくなり、この成分が追従されない)左親クラス
右には、同じトークンで
すべて選択していない場合、それは親クラスの比に応じます、自動移動
このような親1倍は、その座標は倍大きくなりますが、そのサイズは変更されません。

二つの側面の内側には、幅と高さなどの親コンテナかどうか、自動的に増加し
、すべてを選択した場合、より大きな親クラス、サブクラスも大きくなる可能性があり
、大きくなると、また、我々は相対距離が欲しいですラインは、ラインの外側に配置されています。

コードは実装して設定を自動サイズ変更
autoresizingMaskセットのUIViewのを使用して。列挙表情内のコードで首を開きます。
メイン列挙内部の変数のオプションに、変数が残って設定されている場合は、右不変である。
より多くの設定をしたいですその上に記号|と

使用済みのautolayoutリアライズケース

主に、制御、基準又は制約条件のセットに基づいて
、制御10の距離y 2を制御するために、実施例1を参照して、次にオートレイアウトする。レイアウトを自動的に設定に従って。
明らかに、これは、不可能自動サイズ変更要求でありますそれだけで、自動的にそれのサイズを変更するには、親コントロールに基づくことができます

最初のボタンが整列配置されている
立ち上がりエッジが部分左揃え
トレーニング右部分に整列縁
上部はの上部と整合エッジ
底と整列下端
水平センター
垂直センター
ベースライン
親コンテナ水平配向における水平中心容器
コンテナ船垂直配向親の縦中心

フレーム固定された第2のボタンセット
制御の制御から一定の距離を設定する(それが固定異なるコントロール距離を設定することを選択できる)
幅の固定幅は常に同じである
高さ一定の高さは常に同じである
広いとして等しい幅および追加のコントロール
等しい高さとさらに、ハイの制御のような
付加的な対照として、アスペクト比及び割合
アライメント設定を揃えます。

第3ボタンレイアウトが自動的に問題の二次ボタンのいくつかの解決
リサイズ子コントロールが、4番目のボタンの親コントロールを設定した後の関係を

設定後、この制約は問題である矢印赤く表示される場合があります
。1.だけで、幅と高さの制約を設定しますが、特定の場所に設定されていなかった
High幅を設定した後、2つ以上の制約を、広いを設定高い。
設定はオレンジ色の警告矢印を表示された後
、我々は設定制約に従うが、ボタンの位置と私たちの制約が同じではない
だけでその上にボタンダウンの位置を更新する必要があります。これは、すべての権利である。
このタイプのボタンコントロールを、にもかかわらず、サイズを設定していない、また、デフォルト値を持っています。

自動レイアウトを追加することにより、制約コード

コントロールが兄弟間でバインドされている場合は、最新の共通の親要素の体に必要である
、それは別の独自の制約であれば、あなたがあなた自身の体を追加することができます。
Aの制約はオブジェクトNSLayoutConstraintがある
得るためにスペースを対応する、利用addConstraintの
警告:設定する前に、機能NO自動サイズ変更を禁止しなければなりません
view.translatesAutoresizingMaskIntoConstraints = NOを
、ビューフレームに設定されていません

オブジェクトクラスのメソッドがNSLayoutConstraintを初期化する
もの属性オブジェクト属性オブジェクトは、どのようなB xに等しい
定数乗数で乗算プラス

アニメーション自動レイアウトに基づいて、

けん引行の後にあなたがしたいことを変更、プロパティを取得するには
、しかし、アニメーションコードのUIView内部の実装を覚えている。それは無用である
余分なメソッド呼び出しにlayoutIfNeede

公開された15元の記事 ウォンの賞賛0 ビュー2561

おすすめ

転載: blog.csdn.net/u014270781/article/details/105322469