基于UIView的自动布局

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];
 * }];
 */
@interface UIView (ZLConstraint)

#pragma mark - REMOVE
/**
 删除约束属性
 @param  superview               父视图
 @param  view                    当前添加约束的视图
 @param  viewLayoutAttribute     当前视图添加的约束属性
 @param  toView                  关联的视图
 @param  toViewLayoutAttribute   关联视图的约束属性
 @return instancetype            当前视图对象
 */
- (instancetype)removeConstraintWithSuperview:(UIView *)superview view:(UIView *)view viewLayoutAttribute:(NSLayoutAttribute)viewLayoutAttribute toView:(nullable UIView *)toView toViewLayoutAttribute:(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 in
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值