100 days of Swift - Day 36 (layoutMarginGuide vs SafeAreaLayoutGuide)
2183 ワード
コードを使用してビューを作成する場合は、loadView()メソッドを呼び出してユーザーインタフェースを作成し、ビューを初期化し、viewDidLoad()で他の操作を実行する必要があります.
ViewControllerのlifeCycleストーリーボードやxibなどのビューが存在しない場合は、viewDidLoad()の前にloadView()が呼び出されます. の新しいUIView()インスタンスを生成し、ViewControllerビューに割り当てます. 自動レイアウト制約が多数ある場合、isActive=trueを作成するよりも、制約配列を受け入れるNSLayoutConstraint.activate()メソッドを使用して、すべての操作を一度に実行します. UImitには、ビューを固定するための複数のウィザードが用意されています.最もよく使われるのはsafeAreLayoutGuideとlayoutMargins Guideです.
:フィレットと溝以外の空き領域
:ビューが左端と右端で動作しないように余白を追加します.
二つのが重なり、妖精にも違いがある. topはbottomと同じで、前後に空白の差があります. コンテンツハグ優先度:ビューは、内部コンテンツサイズよりも大きい可能性を決定する.優先度が高いほど増加したくないことを意味し、低いほど増加しやすい. では、指定する前にdefaultに設定する優先度は何でしょうか.
上図に示すように、UIViewのcontenthuggingPrityから見ると、垂直、水平ともに250、250である.
オブジェクトごとにデフォルトの優先度が異なります.
default優先度ピクチャソース:stackoverflow
ViewControllerのlifeCycle
override func loadView() {
view = UIView()
view.backgroundColor = .white
}
NSLayoutConstraint.activate([
scoreLabel.topAnchor.constraint(equalTo: view.layoutMarginsGuide.topAnchor),
scoreLabel.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor)
])
safeAreaLayoutGuide
:フィレットと溝以外の空き領域
layoutMarginsGuide
:ビューが左端と右端で動作しないように余白を追加します.
safeAreaLayoutGuide vs layoutMarginsGuide
二つの
cluesLabel.setContentHuggingPriority(UILayoutPriority(1), for: .vertical)
answersLabel.setContentHuggingPriority(UILayoutPriority(1), for: .vertical)
上図に示すように、UIViewのcontenthuggingPrityから見ると、垂直、水平ともに250、250である.
オブジェクトごとにデフォルトの優先度が異なります.
default優先度ピクチャソース:stackoverflow
Reference
この問題について(100 days of Swift - Day 36 (layoutMarginGuide vs SafeAreaLayoutGuide)), 我々は、より多くの情報をここで見つけました https://velog.io/@sun02/100-days-of-Swift-Day-36-layoutMarginGuide-vs-SafeAreaLayoutGuideテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol