uikit——Auto Layout——UIView——layout guide
阿新 • • 發佈:2019-01-25
layout guide manage
解釋:@interface UIView (UILayoutGuideSupport) /* UILayoutGuide objects owned by the receiver. */ @property(nonatomic,readonly,copy) NSArray<__kindof UILayoutGuide *> *layoutGuides NS_AVAILABLE_IOS(9_0); /* Adds layoutGuide to the receiver, passing the receiver in -setOwningView: to layoutGuide. */ - (void)addLayoutGuide:(UILayoutGuide *)layoutGuide NS_AVAILABLE_IOS(9_0); /* Removes layoutGuide from the receiver, passing nil in -setOwningView: to layoutGuide. */ - (void)removeLayoutGuide:(UILayoutGuide *)layoutGuide NS_AVAILABLE_IOS(9_0); @end
- layoutGuide作為UI物件,只有新增到view中,即owningView不為nil,才能參與auto layout生成constraint
- layoutGuide作為UI物件與其它UI物件(layoutGuide或view)生成constraint時,在search closest common ancestor過程中,layoutGuide參考view為其owningView
layoutMarginsGuide
解釋:/* The edges of this guide are constrained to equal the edges of the view inset by the layoutMargins */ @property(readonly,strong) UILayoutGuide *layoutMarginsGuide NS_AVAILABLE_IOS(9_0);
- layoutMarginsGuide是view自身固有layoutGuide,layoutMarginsGuide.layoutFrame與view.frame各邊緣距離依賴view.layoutMargins
- leadingAnchor:NSLayoutAttributeLeadingMargin
- trailingAnchor:NSLayoutAttributeTrailingMargin
- leftAnchor:NSLayoutAttributeLeftMargin
- rightAnchor:NSLayoutAttributeRightMargin
- topAnchor:NSLayoutAttributeTopMargin
- bottomAnchor:NSLayoutAttributeBottomMargin
- centerXAnchor:NSLayoutAttributeCenterXWithinMargins
- centerYAnchor:NSLayoutAttributeCenterYWithinMargins