美文网首页
基于UIView的自动布局

基于UIView的自动布局

作者: 智狸 | 来源:发表于2022-11-16 15:01 被阅读0次

UIView的自动布局约束,NSAutoLayout自动布局代码的封装,XIB自动布局适配

UIView+ZLConstraint.h :

/** 比例值 Aspect Ratio */

#define ZLScaleValue(scaleValue) scaleValue/320.0*[UIScreen mainScreen].bounds.size.width

/**

 * UIView的自动布局约束,NSAutoLayout自动布局代码的封装,XIB自动布局适配

 * 在以下代码中添加 [view.superview layoutIfNeeded]; 实现动画.

 * [UIView animateWithDuration:0.1 animations:^{

 *    code...

 *    [view.superview layoutIfNeeded];

 * }];

 */

@interfaceUIView(ZLConstraint)

#pragma mark- REMOVE

/**

 删除约束属性

 @param  superview                           父视图

 @param  view                                     当前添加约束的视图

 @param  viewLayoutAttribute          当前视图添加的约束属性

 @param  toView                                 关联的视图

 @param  toViewLayoutAttribute      关联视图的约束属性

 @return instancetype                        当前视图对象

 */

- (instancetype)removeConstraintWithSuperview:(UIView*)superviewview:(UIView*)viewviewLayoutAttribute:(NSLayoutAttribute)viewLayoutAttributetoView:(nullableUIView*)toViewtoViewLayoutAttribute:(NSLayoutAttribute)toViewLayoutAttribute;

#pragma mark - REMOVE SELF TO

/**

 删除上对上约束属性

 @param  superview          父视图

 @param  view              当前添加约束的视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeTopEqualTopConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 删除上对下约束属性

 @param  superview          父视图

 @param  view              当前添加约束的视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeTopEqualBottomConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 删除下对下约束属性

 @param  superview          父视图

 @param  view              当前添加约束的视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeBottomEqualBottomConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 删除下对上约束属性

 @param  superview          父视图

 @param  view              当前添加约束的视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeBottomEqualTopConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 删除左对左约束属性

 @param  superview          父视图

 @param  view              当前添加约束的视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeLeadingEqualLeadingConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 删除左对右约束属性

 @param  superview          父视图

 @param  view              当前添加约束的视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeLeadingEqualTrailingConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 删除右对右约束属性

 @param  superview          父视图

 @param  view              当前添加约束的视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeTrailingEqualTrailingConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 删除右对左约束属性

 @param  superview          父视图

 @param  view              当前添加约束的视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeTrailingEqualLeadingConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 删除宽度对宽度约束属性

 @param  superview          父视图

 @param  view              当前添加约束的视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeWidthEqualWidthConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 删除高度对高度约束属性

 @param  superview          父视图

 @param  view              当前添加约束的视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeHeightEqualHeightConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 删除水平居中对水平居中约束属性

 @param  superview          父视图

 @param  view              当前添加约束的视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeCenterXEqualCenterXConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 删除垂直居中对垂直居中约束属性

 @param  superview          父视图

 @param  view              当前添加约束的视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeCenterYEqualCenterYConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

#pragma mark- REMOVE SELF

/**

 删除上对上约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeTopEqualTopConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 删除上对下约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeTopEqualBottomConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 删除下对下约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeBottomEqualBottomConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 删除下对上约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeBottomEqualTopConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 删除左对左约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeLeadingEqualLeadingConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 删除左对右约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeLeadingEqualTrailingConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 删除右对右约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeTrailingEqualTrailingConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 删除右对左约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeTrailingEqualLeadingConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 删除宽度对宽度约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeWidthEqualWidthConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 删除高度对高度约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeHeightEqualHeightConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 删除宽度约束属性

 @return instancetype      当前视图对象

 */

- (instancetype)removeWidthConstraint;

/**

 删除高度约束属性

 @return instancetype      当前视图对象

 */

- (instancetype)removeHeightConstraint;

/**

 删除水平居中对水平居中约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeCenterXEqualCenterXConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 删除垂直居中对垂直居中约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @return instancetype      当前视图对象

 */

- (instancetype)removeCenterYEqualCenterYConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView;

#pragma mark- ADD

/**

 添加约束属性

 @param  superview                         父视图

 @param  view                                   当前需要添加约束的视图

 @param  viewLayoutAttribute        当前视图添加的约束属性

 @param  toView                               关联的视图

 @param  toViewLayoutAttribute    关联视图的约束属性

 @param  constant                           大小值

 @return instancetype                     当前视图对象

 */

- (instancetype)addConstraintWithSuperview:(UIView*)superviewview:(UIView*)viewviewLayoutAttribute:(NSLayoutAttribute)viewLayoutAttributetoView:(nullableUIView*)toViewtoViewLayoutAttribute:(NSLayoutAttribute)toViewLayoutAttributeconstant:(CGFloat)constant;

#pragma mark- ADD SELF TO

/**

 添加上对上约束属性

 @param  superview          父视图

 @param  view              当前需要添加约束的视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addTopEqualTopConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加上对下约束属性

 @param  superview          父视图

 @param  view              当前需要添加约束的视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addTopEqualBottomConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加下对下约束属性

 @param  superview          父视图

 @param  view              当前需要添加约束的视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addBottomEqualBottomConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加下对上约束属性

 @param  superview          父视图

 @param  view              当前需要添加约束的视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addBottomEqualTopConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加左对左约束属性

 @param  superview          父视图

 @param  view              当前需要添加约束的视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addLeadingEqualLeadingConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加左对右约束属性

 @param  superview          父视图

 @param  view              当前需要添加约束的视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addLeadingEqualTrailingConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加右对右约束属性

 @param  superview          父视图

 @param  view              当前需要添加约束的视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addTrailingEqualTrailingConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加右对左约束属性

 @param  superview          父视图

 @param  view              当前需要添加约束的视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addTrailingEqualLeadingConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加宽度对宽度约束属性

 @param  superview          父视图

 @param  view              当前需要添加约束的视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addWidthEqualWidthConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加高度对高度约束属性

 @param  superview          父视图

 @param  view              当前需要添加约束的视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addHeightEqualHeightConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加水平居中对水平居中约束属性

 @param  superview          父视图

 @param  view              当前需要添加约束的视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addCenterXEqualCenterXConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加垂直居中对垂直居中约束属性

 @param  superview          父视图

 @param  view              当前需要添加约束的视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addCenterYEqualCenterYConstraintWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView constant:(CGFloat)constant;

#pragma mark- ADD SELF

/**

 添加上对上约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addTopEqualTopConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加上对下约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addTopEqualBottomConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加下对下约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addBottomEqualBottomConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加下对上约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addBottomEqualTopConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加左对左约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addLeadingEqualLeadingConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加左对右约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addLeadingEqualTrailingConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加右对右约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addTrailingEqualTrailingConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加右对左约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addTrailingEqualLeadingConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加宽度对宽度约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addWidthEqualWidthConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加高度对高度约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addHeightEqualHeightConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加宽度约束属性

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addWidthConstraintWithConstant:(CGFloat)constant;

/**

 添加高度约束属性

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addHeightConstraintWithConstant:(CGFloat)constant;

/**

 添加水平居中对水平居中约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addCenterXEqualCenterXConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView constant:(CGFloat)constant;

/**

 添加垂直居中对垂直居中约束属性

 @param  superview          父视图

 @param  toView            关联的视图

 @param  constant          大小值

 @return instancetype      当前视图对象

 */

- (instancetype)addCenterYEqualCenterYConstraintWithSuperview:(UIView *)superview toView:(UIView *)toView constant:(CGFloat)constant;

#pragma mark- GET

/**

 获取约束属性的大小值

 @param  superview                         父视图

 @param  view                                   当前添加约束的视图

 @param  viewLayoutAttribute        当前视图添加的约束属性

 @param  toView                               关联的视图

 @param  toViewLayoutAttribute    关联视图的约束属性

 @return CGFloat                              约束属性的大小值

 */

- (CGFloat)getConstraintConstantWithSuperview:(UIView*)superviewview:(UIView*)viewviewLayoutAttribute:(NSLayoutAttribute)viewLayoutAttributetoView:(nullableUIView*)toViewtoViewLayoutAttribute:(NSLayoutAttribute)toViewLayoutAttribute;

#pragma mark- GET SELF TO

/**

 获取上对上约束属性的大小值

 @param  superview      父视图

 @param  view          当前添加约束的视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getTopEqualTopConstraintConstantWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 获取上对下约束属性的大小值

 @param  superview      父视图

 @param  view          当前添加约束的视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getTopEqualBottomConstraintConstantWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 获取下对下约束属性的大小值

 @param  superview      父视图

 @param  view          当前添加约束的视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getBottomEqualBottomConstraintConstantWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 获取下对上约束属性的大小值

 @param  superview      父视图

 @param  view          当前添加约束的视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getBottomEqualTopConstraintConstantWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 获取左对左约束属性的大小值

 @param  superview      父视图

 @param  view          当前添加约束的视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getLeadingEqualLeadingConstraintConstantWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 获取左对右约束属性的大小值

 @param  superview      父视图

 @param  view          当前添加约束的视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getLeadingEqualTrailingConstraintConstantWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 获取右对右约束属性的大小值

 @param  superview      父视图

 @param  view          当前添加约束的视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getTrailingEqualTrailingConstraintConstantWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 获取右对左约束属性的大小值

 @param  superview      父视图

 @param  view          当前添加约束的视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getTrailingEqualLeadingConstraintConstantWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 获取宽度对宽度约束属性的大小值

 @param  superview      父视图

 @param  view          当前添加约束的视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getWidthEqualWidthConstraintConstantWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 获取高度对高度约束属性的大小值

 @param  superview      父视图

 @param  view          当前添加约束的视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getHeightEqualHeightConstraintConstantWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 获取水平居中对水平居中约束属性的大小值

 @param  superview      父视图

 @param  view          当前添加约束的视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getCenterXEqualCenterXConstraintConstantWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

/**

 获取垂直居中对垂直居中约束属性的大小值

 @param  superview      父视图

 @param  view          当前添加约束的视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getCenterYEqualCenterYConstraintConstantWithSuperview:(UIView *)superview view:(UIView *)view toView:(UIView *)toView;

#pragma mark- GET SELF

/**

 获取上对上约束属性的大小值

 @param  superview      父视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getTopEqualTopConstraintConstantWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 获取上对下约束属性的大小值

 @param  superview      父视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getTopEqualBottomConstraintConstantWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 获取下对下约束属性的大小值

 @param  superview      父视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getBottomEqualBottomConstraintConstantWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 获取下对上约束属性的大小值

 @param  superview      父视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getBottomEqualTopConstraintConstantWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 获取左对左约束属性的大小值

 @param  superview      父视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getLeadingEqualLeadingConstraintConstantWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 获取左对右约束属性的大小值

 @param  superview      父视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getLeadingEqualTrailingConstraintConstantWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 获取右对右约束属性的大小值

 @param  superview      父视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getTrailingEqualTrailingConstraintConstantWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 获取右对左约束属性的大小值

 @param  superview      父视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getTrailingEqualLeadingConstraintConstantWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 获取宽度对宽度约束属性的大小值

 @param  superview      父视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getWidthEqualWidthConstraintConstantWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 获取高度对高度约束属性的大小值

 @param  superview      父视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getHeightEqualHeightConstraintConstantWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 获取宽度约束属性的大小值

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getWidthConstraintConstant;

/**

 获取高度约束属性的大小值

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getHeightConstraintConstant;

/**

 获取水平居中对水平居中约束属性的大小值

 @param  superview      父视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getCenterXEqualCenterXConstraintConstantWithSuperview:(UIView *)superview toView:(UIView *)toView;

/**

 获取垂直居中对垂直居中约束属性的大小值

 @param  superview      父视图

 @param  toView        关联的视图

 @return CGFloat        约束属性的大小值

 */

- (CGFloat)getCenterYEqualCenterYConstraintConstantWithSuperview:(UIView *)superview toView:(UIView *)toView;

@end

UIViewController :

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    UIView *view1 = [[UIView alloc] init];

    view1.backgroundColor = [UIColor redColor];

    [self.view addSubview:view1];

    [[[[view1 addHeightConstraintWithConstant:50]  addLeadingEqualLeadingConstraintWithSuperview:self.view toView:self.view constant:50]  addTrailingEqualTrailingConstraintWithSuperview:self.view toView:self.view constant:-50]  addTopEqualTopConstraintWithSuperview:self.view toView:self.view constant:50];

    [[self.constraintView addWidthConstraintWithConstant:ZLScaleValue(20)] addHeightConstraintWithConstant:ZLScaleValue(20)];

    [view1 removeTopEqualTopConstraintWithSuperview:self.view toView:self.view];

    [view1 addBottomEqualTopConstraintWithSuperview:self.view toView:self.constraintView constant:0];

    [view1 addBottomEqualTopConstraintWithSuperview:self.view toView:self.constraintView constant:0];

    UIView*view2 = [[UIView alloc] init];

    view2.backgroundColor = [UIColor orangeColor];

    [self.view addSubview:view2];

    [view2 addCenterXEqualCenterXConstraintWithSuperview:self.view toView:view1 constant:0];

    [view2 addCenterYEqualCenterYConstraintWithSuperview:self.view toView:view1 constant:0];

    [[view2 addWidthConstraintWithConstant:50] addHeightConstraintWithConstant:50];

    [view2 addCenterXEqualCenterXConstraintWithSuperview:self.view toView:self.constraintView constant:0];

    [view2 addCenterYEqualCenterYConstraintWithSuperview:self.view toView:view1 constant:0];

    NSLog(@"%f", ZLScaleValue(20));

}

支持CocoaPods : pod 'ZLConstraint'

UIView的自动布局约束,NSAutoLayout自动布局代码的封装,XIB自动布局适配

UIView的自动布局约束,NSAutoLayout自动布局代码的封装,XIB自动布局适配

相关文章

网友评论

      本文标题:基于UIView的自动布局

      本文链接:https://www.haomeiwen.com/subject/tgvyxdtx.html