Authored by Robert Payne
Committed by GitHub

Merge pull request #388 from iwill/master

Added inset property
... ... @@ -129,6 +129,12 @@
}
}
- (void)setInset:(CGFloat)inset {
for (MASConstraint *constraint in self.childConstraints) {
constraint.inset = inset;
}
}
- (void)setOffset:(CGFloat)offset {
for (MASConstraint *constraint in self.childConstraints) {
constraint.offset = offset;
... ...
... ... @@ -27,6 +27,13 @@
/**
* Modifies the NSLayoutConstraint constant,
* only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following
* NSLayoutAttributeTop, NSLayoutAttributeLeft, NSLayoutAttributeBottom, NSLayoutAttributeRight
*/
- (MASConstraint * (^)(CGFloat inset))inset;
/**
* Modifies the NSLayoutConstraint constant,
* only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following
* NSLayoutAttributeWidth, NSLayoutAttributeHeight
*/
- (MASConstraint * (^)(CGSize offset))sizeOffset;
... ... @@ -166,6 +173,13 @@
/**
* Modifies the NSLayoutConstraint constant,
* only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following
* NSLayoutAttributeTop, NSLayoutAttributeLeft, NSLayoutAttributeBottom, NSLayoutAttributeRight
*/
- (void)setInset:(CGFloat)inset;
/**
* Modifies the NSLayoutConstraint constant,
* only affects MASConstraints in which the first item's NSLayoutAttribute is one of the following
* NSLayoutAttributeWidth, NSLayoutAttributeHeight
*/
- (void)setSizeOffset:(CGSize)sizeOffset;
... ...
... ... @@ -92,6 +92,13 @@
};
}
- (MASConstraint * (^)(CGFloat))inset {
return ^id(CGFloat inset){
self.inset = inset;
return self;
};
}
- (MASConstraint * (^)(CGSize))sizeOffset {
return ^id(CGSize offset) {
self.sizeOffset = offset;
... ... @@ -269,6 +276,8 @@
- (void)setInsets:(MASEdgeInsets __unused)insets { MASMethodNotImplemented(); }
- (void)setInset:(CGFloat __unused)inset { MASMethodNotImplemented(); }
- (void)setSizeOffset:(CGSize __unused)sizeOffset { MASMethodNotImplemented(); }
- (void)setCenterOffset:(CGPoint __unused)centerOffset { MASMethodNotImplemented(); }
... ...
... ... @@ -254,6 +254,10 @@ static char kInstalledConstraintsKey;
}
}
- (void)setInset:(CGFloat)inset {
[self setInsets:(MASEdgeInsets){.top = inset, .left = inset, .bottom = inset, .right = inset}];
}
- (void)setOffset:(CGFloat)offset {
self.layoutConstant = offset;
}
... ...
... ... @@ -133,6 +133,28 @@ SpecBegin(MASCompositeConstraint) {
expect([children[5] layoutConstant]).to.equal(0);
};
- (void)testModifyInsetOnAppropriateChildren {
NSArray *children = @[
[[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_right],
[[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_top],
[[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_bottom],
[[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_left],
[[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_baseline],
[[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_width],
];
composite = [[MASCompositeConstraint alloc] initWithChildren:children];
composite.delegate = delegate;
composite.with.inset(1);
expect([children[0] layoutConstant]).to.equal(-1);
expect([children[1] layoutConstant]).to.equal(1);
expect([children[2] layoutConstant]).to.equal(-1);
expect([children[3] layoutConstant]).to.equal(1);
expect([children[4] layoutConstant]).to.equal(0);
expect([children[5] layoutConstant]).to.equal(0);
};
- (void)testUninstall {
NSArray *children = @[
[[MASViewConstraint alloc] initWithFirstViewAttribute:view.mas_leading],
... ...