首页 > 代码库 > iOS删除AutoLayout
iOS删除AutoLayout
有时候,我们需要动态改变View中AutoLayout里的某个值,比如移动x值,或者y值,改怎么办呢?
下面封装了比较好的方法来删除:摘自 https://github.com/MakeZL/ZLAutoLayout (封装AutoLayout的框架)
以下用到 ZLLayoutConstraint 是别名 NSLayoutConstraint
typedefNSLayoutConstraint ZLLayoutConstraint;
---------------
删除所有约束
<span style="font-size:14px;">#pragma mark - remove view to superView autoLayout - (void)removeAllAutoLayout{ [self removeConstraints:self.constraints]; for (ZLLayoutConstraint *constraint in self.superview.constraints) { if ([constraint.firstItem isEqual:self]) { [self.superview removeConstraint:constraint]; } } }</span>
---------------
删除单个约束
<span style="font-size:14px;">#pragma mark - remove single constraint - (void)removeAutoLayout:(ZLLayoutConstraint *)constraint{ for (ZLLayoutConstraint *constraint in self.superview.constraints) { if ([constraint isEqual:constraint]) { [self.superview removeConstraint:constraint]; } } } </span>
---------------
删除多个约束
<span style="font-size:14px;">#pragma mark - remove constraints - (void)removeAutoLayoutConstraints:(NSArray *)constraints{ for (ZLLayoutConstraint *constraint in constraints) { for (ZLLayoutConstraint *superViewConstraint in self.superview.constraints) { if ([superViewConstraint isEqual:constraint]) { [self.superview removeConstraint:constraint]; } } } }</span>
祝大家愉快!
iOS删除AutoLayout
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。