uikit——Auto Layout——UIView——layout guide

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
layoutMarginsGuide的UI属性与NSLayoutConstraint的attribute对应关系为:
  • leadingAnchor:NSLayoutAttributeLeadingMargin
  • trailingAnchor:NSLayoutAttributeTrailingMargin
  • leftAnchor:NSLayoutAttributeLeftMargin
  • rightAnchor:NSLayoutAttributeRightMargin
  • topAnchor:NSLayoutAttributeTopMargin
  • bottomAnchor:NSLayoutAttributeBottomMargin
  • centerXAnchor:NSLayoutAttributeCenterXWithinMargins
  • centerYAnchor:NSLayoutAttributeCenterYWithinMargins

readableContentGuide

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值