做iOS开发很久了,使用masonry也很久了,但是还没有到masonry对应的仓库地址去看,昨天逛了一下,发现了一点有趣的东西和大家分享一下。
在使用masory的时候有时候出现约束冲突的时候不好定位,之前一直用xcode给出的提示打断点,但是效果并不是很好。在看masory官方demo的时候,发现了,他们提供了调试功能,方便我们定位。具体源码如下:
[blueView mas_makeConstraints:^(MASConstraintMaker *make) {
//you can also attach debug keys to constaints
make.edges.equalTo(@1).key(@"ConflictingConstraint"); //composite constraint keys will be indexed
make.height.greaterThanOrEqualTo(@5000).key(@"ConstantConstraint");
make.top.equalTo(greenView.mas_bottom).offset(padding);
make.left.equalTo(superview.mas_left).offset(padding);
make.bottom.equalTo(superview.mas_bottom).offset(-padding).key(@"BottomConstraint");
make.right.equalTo(superview.mas_right).offset(-padding);
make.height.equalTo(greenView.mas_height);
make.height.equalTo(redView.mas_height).key(@340954); //anything can be a key
}];
大家可以看到每个约束后面都可以加key(@“xxxxx”),然后我们根据这个值来定位出现约束冲突的地方。可以帮大家很快定位哦。
更多技术干货文章可以扫描下方二维码: