自動レイアウトと自動サイズ変更の適切な違いを探していましたが、正確な答えを見つけることができませんでした。アプリのどこで「自動レイアウト」と「自動サイズ変更」を使用できますか? どんな助けも感謝の一部です。
4 に答える
マット・ノイバーグが彼の著書で述べているように:
自動サイズ変更は、サブビュー「スプリングとストラット」を概念的に割り当てる問題です。春は伸びることができます。支柱はできません。スプリングと支柱は、内部または外部に割り当てることができます。したがって、(内部スプリングとストラットを使用して) ビューをサイズ変更できるかどうかとその方法を指定でき、(外部スプリングとストラットを使用して) ビューを再配置できるかどうかとその方法を指定できます。
と
自動レイアウトは、ビューの制約に依存します。制約 (NSLayoutConstraint のインスタンス) は、"autoresizingMask" よりもはるかに洗練されています。これは、数値を持つ本格的なオブジェクトであり、2 つのビュー (サブビューとそのスーパービューだけでなく) 間の関係を記述することができます。
WWDC 2012 セッションを視聴することをお勧めします https://developer.apple.com/videos/wwdc/2012/?id=202
自動レイアウトは、動的 GUI を定義する新しい方法です。以前は、スーパービューのサイズが変更されたときにサブビューがどのようにサイズ変更または移動するかを説明する自動サイズ変更マスクがありました。自動レイアウトを使用すると、同じことを行うことができ、さらに複雑な GUI を非常に簡単に行うことができます。
自動サイズ変更は、階層内のビューをレイアウトするための最も便利なプロパティの 1 つです。このリンクを通過します。
http://www.techpaa.com/2012/05/understanding-uiview-autoresizing.html
AutoResizing : 自動サイズ変更とは、ビューのコンテンツがビューにどのように収まるかを意味します。それはおそらくビューの自己内容に依存します。
AutoLayout: AutoLayout は、ビューの位置、ビューのサイズなどの外部制約が他の隣接するコンポーネントによってサポートされる方法を意味します。
AutoLayout は AutoResizing タスクをトリガーし、自動サイズ変更アクティビティの場合、自動レイアウトは、必要に応じて、対応するビューに関連するビューのデフォルトの制約を強制的または通常に変更または破棄します。
制約のあるスーパービューで自動レイアウトを使用し [これは、異なるデバイス (3.5 または 4 インチの網膜など) によりビュー内のスペースに変化がある場合に役立ちます]、ビュー内の GUI オブジェクトのサイズを変更するために自動サイズ変更を使用します [これは、ある場合に役立ちます。デバイスの方向付け中のビュー内の空間の変化です]