CHANGELOG.md 4.69 KB

v0.6.0

- [iOS 8] Added activate & deactivate methods

They use iOS 8's active property from NSLayoutConstraint, which allows to deactivate constraint. This allows to avoid using of uninstall and install methods, which leads to an overhead while searching closest common superview.

In order to use these methods, deployment version should be iOS 8+.

v0.5.3

- Fixed compilation errors on xcode6 beta

https://github.com/Masonry/Masonry/pull/84

v0.5.2

- Fixed compilation warning with Shorthand view Additions

https://github.com/cloudkite/Masonry/issues/71

v0.5.1

- Fixed compilation error when using objective-c++ (nickynick)

https://github.com/cloudkite/Masonry/pull/69

v0.5.0

- Fixed bug in mas_updateConstraints (Rolken)

Was not checking that the constraint relation was equivalent https://github.com/cloudkite/Masonry/pull/65

- Added mas_remakeConstraints (nickynick)

Similar to mas_updateConstraints however instead of trying to update existing constraints it Removes all constraints previously defined and installed for the view, allowing you to provide replacements without hassle.

https://github.com/cloudkite/Masonry/pull/63

- Added Autoboxing for scalar/struct attribute values (nickynick)

Autoboxing allows you to write equality relations and offsets by passing primitive values and structs

make.top.mas_equalTo(42);
make.height.mas_equalTo(20);
make.size.mas_equalTo(CGSizeMake(50, 100));
make.edges.mas_equalTo(UIEdgeInsetsMake(10, 0, 10, 0));
make.left.mas_equalTo(view).mas_offset(UIEdgeInsetsMake(10, 0, 10, 0));

by default these autoboxing macros are prefix with mas_ If you want the unprefixed version you need to add MAS_SHORTHAND_GLOBALS before importing Masonry.h (ie in your Prefix.pch)

https://github.com/cloudkite/Masonry/pull/62

- Added ability to chain view attributes

Composites are great for defining multiple attributes at once. The following example makes top, left, bottom, right equal to superview.

make.edges.equalTo(superview).insets(padding);

However if only three of the sides are equal to superview then we need to repeat quite a bit of code

make.left.equalTo(superview).insets(padding);
make.right.equalTo(superview).insets(padding);
make.bottom.equalTo(superview).insets(padding);
// top needs to be equal to `otherView`
make.top.equalTo(otherView).insets(padding);

This change makes it possible to chain view attributes to improve readability

make.left.right.and.bottom.equalTo(superview).insets(padding);
make.top.equalTo(otherView).insets(padding);

https://github.com/cloudkite/Masonry/pull/56

v0.4.0

- Fixed Xcode auto-complete support (nickynick)

Breaking Changes

If you are holding onto any instances of masonry constraints ie

// in public/private interface
@property (nonatomic, strong) id<MASConstraint> topConstraint;

You will need to change this to

// in public/private interface
@property (nonatomic, strong) MASConstraint *topConstraint;

Instead of using protocols Masonry now uses an abstract base class for constraints in order to get Xcode auto-complete support see http://stackoverflow.com/questions/14534223/

v0.3.2

- Added support for Mac OSX animator proxy (pfandrade)

self.leftConstraint.animator.offset(20);

- Added setter methods for NSLayoutConstraint constant proxies like offset, centerOffset, insets, sizeOffset.

now you can update these values using more natural syntax

self.edgesConstraint.insets(UIEdgeInsetsMake(20, 10, 15, 5));

can now be written as:

self.edgesConstraint.insets = UIEdgeInsetsMake(20, 10, 15, 5);

v0.3.1

- Added way to specify the same set of constraints to multiple views in an array (danielrhammond)

[@[view1, view2, view3] mas_makeConstraints:^(MASConstraintMaker *make) {
    make.baseline.equalTo(superView.mas_centerY);
    make.width.equalTo(@100);
}];

v0.3.0

- Added - (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *))block

which will update existing constraints if possible, otherwise it will add them. This makes it easier to use Masonry within the UIView - (void)updateConstraints method which is the recommended place for adding/updating constraints by apple.

- Updated examples for iOS7, added a few new examples.

- Added -isEqual: and -hash to MASViewAttribute [CraigSiemens].