UIView(FWAutoLayout)

@interface UIView (FWAutoLayout)

UIView自动布局分类,兼容UIView和UILayoutGuide(iOS9)

Note

如果约束条件完全相同,会自动更新约束而不是重新添加。 另外,默认布局方式使用LTR,如果需要RTL布局,可通过fwAutoLayoutRTL统一启用
  • 是否启用自动布局适配RTL,启用后自动将Left|Right转换为Leading|Trailing,默认NO

    Note

    如果项目兼容阿拉伯语等,需要启用RTL从右向左布局,开启此开关即可,无需修改布局代码 手工切换视图左右布局方法:[UIView appearance].semanticContentAttribute = UISemanticContentAttributeForceRightToLeft;

    Declaration

    Objective-C

    @property (class, nonatomic) BOOL fw_autoLayoutRTL;
  • 是否全局自动等比例缩放布局,默认NO

    Note

    启用后所有offset值都会自动*relativeScale,注意可能产生的影响。 启用后注意事项:
    • 屏幕宽度约束不能使用screenWidth约束,需要使用375设计标准
    • 尽量不使用screenWidth固定屏幕宽度方式布局,推荐相对于父视图布局
    • 只会对offset值生效,其他属性不受影响
    • 如需特殊处理,可以指定某个视图关闭该功能

    Declaration

    Objective-C

    @property (class, nonatomic) BOOL fw_autoScale;

AutoLayout

  • 视图是否自动等比例缩放布局,默认返回全局开关

    Declaration

    Objective-C

    @property (nonatomic) BOOL fw_autoScale;
  • 是否启用自动布局

    Declaration

    Objective-C

    @property (nonatomic) BOOL fw_autoLayout;
  • 执行子视图自动布局,自动计算子视图尺寸。需先将视图添加到界面(如设置为tableHeaderView),再调用即可(iOS8+)

    Declaration

    Objective-C

    - (void)fw_autoLayoutSubviews;
  • 计算动态布局视图指定宽度时的高度。使用AutoLayout必须约束完整,不使用AutoLayout会调用view的sizeThatFits:方法

    Declaration

    Objective-C

    - (CGFloat)fw_layoutHeightWithWidth:(CGFloat)width;
  • 计算动态布局视图指定高度时的宽度。使用AutoLayout必须约束完整,不使用AutoLayout会调用view的sizeThatFits:方法

    Declaration

    Objective-C

    - (CGFloat)fw_layoutWidthWithHeight:(CGFloat)height;

Compression

  • 设置水平方向抗压缩优先级

    Declaration

    Objective-C

    @property (nonatomic) UILayoutPriority fw_compressionHorizontal;
  • 设置垂直方向抗压缩优先级

    Declaration

    Objective-C

    @property (nonatomic) UILayoutPriority fw_compressionVertical;
  • 设置水平方向抗拉伸优先级

    Declaration

    Objective-C

    @property (nonatomic) UILayoutPriority fw_huggingHorizontal;
  • 设置垂直方向抗拉伸优先级

    Declaration

    Objective-C

    @property (nonatomic) UILayoutPriority fw_huggingVertical;

Collapse

  • 设置视图是否收缩,默认NO,YES时常量值为0,NO时常量值为原始值

    Declaration

    Objective-C

    @property (nonatomic) BOOL fw_collapsed;
  • 设置视图是否自动收缩,如image为nil,text为nil、@“"时自动收缩,默认NO

    Declaration

    Objective-C

    @property (nonatomic) BOOL fw_autoCollapse;
  • 设置视图是否隐藏时自动收缩、显示时自动展开,默认NO

    Declaration

    Objective-C

    @property (nonatomic) BOOL fw_hiddenCollapse;
  • 添加视图的收缩常量,必须先添加才能生效

    Declaration

    Objective-C

    - (void)fw_addCollapseConstraint:(nonnull NSLayoutConstraint *)constraint;

Axis

  • 父视图居中

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_alignCenterToSuperview;

    Return Value

    约束数组

  • 父视图居中偏移指定距离

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_alignCenterToSuperviewWithOffset:
        (CGPoint)offset;

    Parameters

    offset

    偏移距离

    Return Value

    约束数组

  • 父视图属性居中

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_alignAxisToSuperview:(NSLayoutAttribute)axis;

    Parameters

    axis

    居中属性

    Return Value

    布局约束

  • 父视图属性居中偏移指定距离

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_alignAxisToSuperview:(NSLayoutAttribute)axis
                                                 withOffset:(CGFloat)offset;

    Parameters

    axis

    居中属性

    offset

    偏移距离

    Return Value

    布局约束

  • 与另一视图居中相同

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_alignAxis:(NSLayoutAttribute)axis
                                          toView:(nonnull id)otherView;

    Parameters

    axis

    居中属性

    otherView

    另一视图或UILayoutGuide,下同

    Return Value

    布局约束

  • 与另一视图居中偏移指定距离

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_alignAxis:(NSLayoutAttribute)axis
                                          toView:(nonnull id)otherView
                                      withOffset:(CGFloat)offset;

    Parameters

    axis

    居中属性

    otherView

    另一视图

    offset

    偏移距离

    Return Value

    布局约束

  • 与另一视图居中指定比例

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_alignAxis:(NSLayoutAttribute)axis
                                          toView:(nonnull id)otherView
                                  withMultiplier:(CGFloat)multiplier;

    Parameters

    axis

    居中属性

    otherView

    另一视图

    multiplier

    指定比例

    Return Value

    布局约束

Edge

  • 与父视图四条边属性相同

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_pinEdgesToSuperview;

    Return Value

    约束数组

  • 与父视图四条边属性距离指定距离

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_pinEdgesToSuperviewWithInsets:
        (UIEdgeInsets)insets;

    Parameters

    insets

    指定距离insets

    Return Value

    约束数组

  • 与父视图三条边属性距离指定距离

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)
        fw_pinEdgesToSuperviewWithInsets:(UIEdgeInsets)insets
                           excludingEdge:(NSLayoutAttribute)edge;

    Parameters

    insets

    指定距离insets

    edge

    排除的边

    Return Value

    约束数组

  • 与父视图水平方向两条边属性相同

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_pinHorizontalToSuperview;

    Return Value

    约束数组

  • 与父视图水平方向两条边属性偏移指定距离

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_pinHorizontalToSuperviewWithInset:
        (CGFloat)inset;

    Parameters

    inset

    偏移距离

    Return Value

    约束数组

  • 与父视图垂直方向两条边属性相同

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_pinVerticalToSuperview;

    Return Value

    约束数组

  • 与父视图垂直方向两条边属性偏移指定距离

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_pinVerticalToSuperviewWithInset:
        (CGFloat)inset;

    Parameters

    inset

    偏移距离

    Return Value

    约束数组

  • 与父视图边属性相同

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_pinEdgeToSuperview:(NSLayoutAttribute)edge;

    Parameters

    edge

    指定边属性

    Return Value

    布局约束

  • 与父视图边属性偏移指定距离

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_pinEdgeToSuperview:(NSLayoutAttribute)edge
                                                withInset:(CGFloat)inset;

    Parameters

    edge

    指定边属性

    inset

    偏移距离

    Return Value

    布局约束

  • 与父视图边属性偏移指定距离,指定关系

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_pinEdgeToSuperview:(NSLayoutAttribute)edge
                                                withInset:(CGFloat)inset
                                                 relation:
                                                     (NSLayoutRelation)relation;

    Parameters

    edge

    指定边属性

    inset

    偏移距离

    relation

    约束关系

    Return Value

    布局约束

  • 与指定视图边属性相同

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_pinEdge:(NSLayoutAttribute)edge
                                        toEdge:(NSLayoutAttribute)toEdge
                                        ofView:(nonnull id)otherView;

    Parameters

    edge

    指定边属性

    toEdge

    另一视图边属性

    otherView

    另一视图

    Return Value

    布局约束

  • 与指定视图边属性偏移指定距离

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_pinEdge:(NSLayoutAttribute)edge
                                        toEdge:(NSLayoutAttribute)toEdge
                                        ofView:(nonnull id)otherView
                                    withOffset:(CGFloat)offset;

    Parameters

    edge

    指定边属性

    toEdge

    另一视图边属性

    otherView

    另一视图

    offset

    偏移距离

    Return Value

    布局约束

  • 与指定视图边属性偏移指定距离,指定关系

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_pinEdge:(NSLayoutAttribute)edge
                                        toEdge:(NSLayoutAttribute)toEdge
                                        ofView:(nonnull id)otherView
                                    withOffset:(CGFloat)offset
                                      relation:(NSLayoutRelation)relation;

    Parameters

    edge

    指定边属性

    toEdge

    另一视图边属性

    otherView

    另一视图

    offset

    偏移距离

    relation

    约束关系

    Return Value

    布局约束

SafeArea

  • 父视图安全区域居中。iOS11以下使用Superview实现,下同

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_alignCenterToSafeArea;

    Return Value

    约束数组

  • 父视图安全区域居中偏移指定距离。iOS11以下使用Superview实现,下同

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_alignCenterToSafeAreaWithOffset:
        (CGPoint)offset;

    Parameters

    offset

    偏移距离

    Return Value

    约束数组

  • 父视图安全区域属性居中

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_alignAxisToSafeArea:(NSLayoutAttribute)axis;

    Parameters

    axis

    居中属性

    Return Value

    布局约束

  • 父视图安全区域属性居中偏移指定距离

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_alignAxisToSafeArea:(NSLayoutAttribute)axis
                                                withOffset:(CGFloat)offset;

    Parameters

    axis

    居中属性

    offset

    偏移距离

    Return Value

    布局约束

  • 与父视图安全区域四条边属性相同

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_pinEdgesToSafeArea;

    Return Value

    约束数组

  • 与父视图安全区域四条边属性距离指定距离

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_pinEdgesToSafeAreaWithInsets:
        (UIEdgeInsets)insets;

    Parameters

    insets

    指定距离insets

    Return Value

    约束数组

  • 与父视图安全区域三条边属性距离指定距离

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)
        fw_pinEdgesToSafeAreaWithInsets:(UIEdgeInsets)insets
                          excludingEdge:(NSLayoutAttribute)edge;

    Parameters

    insets

    指定距离insets

    edge

    排除的边

    Return Value

    约束数组

  • 与父视图安全区域水平方向两条边属性相同

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_pinHorizontalToSafeArea;

    Return Value

    约束数组

  • 与父视图安全区域水平方向两条边属性偏移指定距离

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_pinHorizontalToSafeAreaWithInset:
        (CGFloat)inset;

    Parameters

    inset

    偏移距离

    Return Value

    约束数组

  • 与父视图安全区域垂直方向两条边属性相同

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_pinVerticalToSafeArea;

    Return Value

    约束数组

  • 与父视图安全区域垂直方向两条边属性偏移指定距离

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_pinVerticalToSafeAreaWithInset:
        (CGFloat)inset;

    Parameters

    inset

    偏移距离

    Return Value

    约束数组

  • 与父视图安全区域边属性相同

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_pinEdgeToSafeArea:(NSLayoutAttribute)edge;

    Parameters

    edge

    指定边属性

    Return Value

    布局约束

  • 与父视图安全区域边属性偏移指定距离

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_pinEdgeToSafeArea:(NSLayoutAttribute)edge
                                               withInset:(CGFloat)inset;

    Parameters

    edge

    指定边属性

    inset

    偏移距离

    Return Value

    布局约束

  • 与父视图安全区域边属性偏移指定距离,指定关系

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_pinEdgeToSafeArea:(NSLayoutAttribute)edge
                                               withInset:(CGFloat)inset
                                                relation:(NSLayoutRelation)relation;

    Parameters

    edge

    指定边属性

    inset

    偏移距离

    relation

    约束关系

    Return Value

    布局约束

Dimension

  • 设置宽高尺寸

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_setDimensionsToSize:(CGSize)size;

    Parameters

    size

    尺寸大小

    Return Value

    约束数组

  • 设置某个尺寸

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_setDimension:(NSLayoutAttribute)dimension
                                             toSize:(CGFloat)size;

    Parameters

    dimension

    尺寸属性

    size

    尺寸大小

    Return Value

    布局约束

  • 设置某个尺寸,指定关系

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_setDimension:(NSLayoutAttribute)dimension
                                             toSize:(CGFloat)size
                                           relation:(NSLayoutRelation)relation;

    Parameters

    dimension

    尺寸属性

    size

    尺寸大小

    relation

    约束关系

    Return Value

    布局约束

  • 与视图自身尺寸属性指定比例

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_matchDimension:(NSLayoutAttribute)dimension
                                          toDimension:(NSLayoutAttribute)toDimension
                                       withMultiplier:(CGFloat)multiplier;

    Parameters

    dimension

    尺寸属性

    toDimension

    目标尺寸属性

    multiplier

    指定比例

    Return Value

    布局约束

  • 与视图自身尺寸属性指定比例,指定关系

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_matchDimension:(NSLayoutAttribute)dimension
                                          toDimension:(NSLayoutAttribute)toDimension
                                       withMultiplier:(CGFloat)multiplier
                                             relation:(NSLayoutRelation)relation;

    Parameters

    dimension

    尺寸属性

    toDimension

    目标尺寸属性

    multiplier

    指定比例

    relation

    约束关系

    Return Value

    布局约束

  • 与指定视图尺寸属性相同

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_matchDimension:(NSLayoutAttribute)dimension
                                          toDimension:(NSLayoutAttribute)toDimension
                                               ofView:(nonnull id)otherView;

    Parameters

    dimension

    尺寸属性

    toDimension

    目标尺寸属性

    otherView

    目标视图

    Return Value

    布局约束

  • 与指定视图尺寸属性相差指定大小

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_matchDimension:(NSLayoutAttribute)dimension
                                          toDimension:(NSLayoutAttribute)toDimension
                                               ofView:(nonnull id)otherView
                                           withOffset:(CGFloat)offset;

    Parameters

    dimension

    尺寸属性

    toDimension

    目标尺寸属性

    otherView

    目标视图

    offset

    相差大小

    Return Value

    布局约束

  • 与指定视图尺寸属性相差指定大小,指定关系

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_matchDimension:(NSLayoutAttribute)dimension
                                          toDimension:(NSLayoutAttribute)toDimension
                                               ofView:(nonnull id)otherView
                                           withOffset:(CGFloat)offset
                                             relation:(NSLayoutRelation)relation;

    Parameters

    dimension

    尺寸属性

    toDimension

    目标尺寸属性

    otherView

    目标视图

    offset

    相差大小

    relation

    约束关系

    Return Value

    布局约束

  • 与指定视图尺寸属性指定比例

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_matchDimension:(NSLayoutAttribute)dimension
                                          toDimension:(NSLayoutAttribute)toDimension
                                               ofView:(nonnull id)otherView
                                       withMultiplier:(CGFloat)multiplier;

    Parameters

    dimension

    尺寸属性

    toDimension

    目标尺寸属性

    otherView

    目标视图

    multiplier

    指定比例

    Return Value

    布局约束

  • 与指定视图尺寸属性指定比例,指定关系

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)fw_matchDimension:(NSLayoutAttribute)dimension
                                          toDimension:(NSLayoutAttribute)toDimension
                                               ofView:(nonnull id)otherView
                                       withMultiplier:(CGFloat)multiplier
                                             relation:(NSLayoutRelation)relation;

    Parameters

    dimension

    尺寸属性

    toDimension

    目标尺寸属性

    otherView

    目标视图

    multiplier

    指定比例

    relation

    约束关系

    Return Value

    布局约束

Constrain

  • 与指定视图属性相同

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)
        fw_constrainAttribute:(NSLayoutAttribute)attribute
                  toAttribute:(NSLayoutAttribute)toAttribute
                       ofView:(nullable id)otherView;

    Parameters

    attribute

    指定属性

    toAttribute

    目标视图属性

    otherView

    目标视图

    Return Value

    布局约束

  • 与指定视图属性偏移指定距离

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)
        fw_constrainAttribute:(NSLayoutAttribute)attribute
                  toAttribute:(NSLayoutAttribute)toAttribute
                       ofView:(nullable id)otherView
                   withOffset:(CGFloat)offset;

    Parameters

    attribute

    指定属性

    toAttribute

    目标视图属性

    otherView

    目标视图

    offset

    偏移距离

    Return Value

    布局约束

  • 与指定视图属性偏移指定距离,指定关系

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)
        fw_constrainAttribute:(NSLayoutAttribute)attribute
                  toAttribute:(NSLayoutAttribute)toAttribute
                       ofView:(nullable id)otherView
                   withOffset:(CGFloat)offset
                     relation:(NSLayoutRelation)relation;

    Parameters

    attribute

    指定属性

    toAttribute

    目标视图属性

    otherView

    目标视图

    offset

    偏移距离

    relation

    约束关系

    Return Value

    布局约束

  • 与指定视图属性指定比例

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)
        fw_constrainAttribute:(NSLayoutAttribute)attribute
                  toAttribute:(NSLayoutAttribute)toAttribute
                       ofView:(nullable id)otherView
               withMultiplier:(CGFloat)multiplier;

    Parameters

    attribute

    指定属性

    toAttribute

    目标视图属性

    otherView

    目标视图

    multiplier

    指定比例

    Return Value

    布局约束

  • 与指定视图属性指定比例,指定关系

    Declaration

    Objective-C

    - (nonnull NSLayoutConstraint *)
        fw_constrainAttribute:(NSLayoutAttribute)attribute
                  toAttribute:(NSLayoutAttribute)toAttribute
                       ofView:(nullable id)otherView
               withMultiplier:(CGFloat)multiplier
                     relation:(NSLayoutRelation)relation;

    Parameters

    attribute

    指定属性

    toAttribute

    目标视图属性

    otherView

    目标视图

    multiplier

    指定比例

    relation

    约束关系

    Return Value

    布局约束

Offset

  • 修改最近一批添加或更新的布局约束偏移值

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_setOffset:(CGFloat)offset;
  • 修改最近一批添加或更新的布局约束内间距值

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_setInset:(CGFloat)inset;
  • 修改最近一批添加或更新的布局约束优先级

    Declaration

    Objective-C

    - (nonnull NSArray<NSLayoutConstraint *> *)fw_setPriority:
        (UILayoutPriority)priority;

Constraint

  • 获取添加的与父视图属性的约束

    Declaration

    Objective-C

    - (nullable NSLayoutConstraint *)fw_constraintToSuperview:
        (NSLayoutAttribute)attribute;

    Parameters

    attribute

    指定属性

    Return Value

    布局约束

  • 获取添加的与父视图属性的约束,指定关系

    Declaration

    Objective-C

    - (nullable NSLayoutConstraint *)
        fw_constraintToSuperview:(NSLayoutAttribute)attribute
                        relation:(NSLayoutRelation)relation;

    Parameters

    attribute

    指定属性

    relation

    约束关系

    Return Value

    布局约束

  • 获取添加的与父视图安全区域属性的约束

    Declaration

    Objective-C

    - (nullable NSLayoutConstraint *)fw_constraintToSafeArea:
        (NSLayoutAttribute)attribute;

    Parameters

    attribute

    指定属性

    Return Value

    布局约束

  • 获取添加的与父视图安全区域属性的约束,指定关系

    Declaration

    Objective-C

    - (nullable NSLayoutConstraint *)
        fw_constraintToSafeArea:(NSLayoutAttribute)attribute
                       relation:(NSLayoutRelation)relation;

    Parameters

    attribute

    指定属性

    relation

    约束关系

    Return Value

    布局约束

  • 获取添加的与指定视图属性的约束

    Declaration

    Objective-C

    - (nullable NSLayoutConstraint *)fw_constraint:(NSLayoutAttribute)attribute
                                       toAttribute:(NSLayoutAttribute)toAttribute
                                            ofView:(nullable id)otherView;

    Parameters

    attribute

    指定属性

    toAttribute

    目标视图属性

    otherView

    目标视图

    Return Value

    布局约束

  • 获取添加的与指定视图属性的约束,指定关系

    Declaration

    Objective-C

    - (nullable NSLayoutConstraint *)fw_constraint:(NSLayoutAttribute)attribute
                                       toAttribute:(NSLayoutAttribute)toAttribute
                                            ofView:(nullable id)otherView
                                          relation:(NSLayoutRelation)relation;

    Parameters

    attribute

    指定属性

    toAttribute

    目标视图属性

    otherView

    目标视图

    relation

    约束关系

    Return Value

    布局约束

  • 获取添加的与指定视图属性指定比例的约束

    Declaration

    Objective-C

    - (nullable NSLayoutConstraint *)fw_constraint:(NSLayoutAttribute)attribute
                                       toAttribute:(NSLayoutAttribute)toAttribute
                                            ofView:(nullable id)otherView
                                    withMultiplier:(CGFloat)multiplier;

    Parameters

    attribute

    指定属性

    toAttribute

    目标视图属性

    otherView

    目标视图

    multiplier

    指定比例

    Return Value

    布局约束

  • 获取添加的与指定视图属性指定比例的约束,指定关系

    Declaration

    Objective-C

    - (nullable NSLayoutConstraint *)fw_constraint:(NSLayoutAttribute)attribute
                                       toAttribute:(NSLayoutAttribute)toAttribute
                                            ofView:(nullable id)otherView
                                    withMultiplier:(CGFloat)multiplier
                                          relation:(NSLayoutRelation)relation;

    Parameters

    attribute

    指定属性

    toAttribute

    目标视图属性

    otherView

    目标视图

    multiplier

    指定比例

    relation

    约束关系

    Return Value

    布局约束

  • 设置约束保存键名,方便更新约束常量

    Declaration

    Objective-C

    - (void)fw_setConstraint:(nullable NSLayoutConstraint *)constraint
                      forKey:(nonnull id<NSCopying>)key;

    Parameters

    constraint

    布局约束

    key

    保存key

  • 获取键名对应约束

    Declaration

    Objective-C

    - (nullable NSLayoutConstraint *)fw_constraintForKey:(nonnull id<NSCopying>)key;

    Parameters

    key

    保存key

    Return Value

    布局约束

  • 最近一批添加或更新的布局约束

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NS_REFINED_FOR_SWIFT NSArray<NSLayoutConstraint *> *fw_lastConstraints;
  • 最近一条添加或更新的布局约束

    Declaration

    Objective-C

    @property (nonatomic, readonly, nullable) NSLayoutConstraint *fw_lastConstraint;
  • 获取当前所有约束,不包含Key

    Declaration

    Objective-C

    @property (nonatomic, copy, readonly) NS_REFINED_FOR_SWIFT NSArray<NSLayoutConstraint *> *fw_allConstraints;

    Return Value

    约束列表

  • 移除当前指定约束,不包含Key

    Declaration

    Objective-C

    - (void)fw_removeConstraint:(nonnull NSLayoutConstraint *)constraint;
  • 移除当前所有约束,不包含Key

    Declaration

    Objective-C

    - (void)fw_removeAllConstraints;