cloudkite/Masonry — pull request #52 by aafa (2014-03-12 06:26:50+00:00)
Title: Arrange functionality to simplify multiple views layout

I've noticed that in my work it's often desirable to make constraints in bulk on multiple views. So this is my attempt to include this functionality in Masonry with minimal intrusion to existed infrastructure. It's not complete yet but main functionality is working.

New maker is look like this
```
[@[view1, view2, view3] mas_makeArrangeConstraints:^(MASArrangeConstraintMaker *make) {
make.arrange.vertically.withOffset(@5);
}];
```
Which corresponds to following code
```
[view1 makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(@5);
}];
[view2 makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(view1.bottom).offset(5);
}];
[view3 makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(view2.bottom).offset(5);
}];
```

Other option is to make layout with ASCII art-like visual format string as follows
```
[@[v1, v2, v3] mas_makeArrangeConstraints:^(MASArrangeConstraintMaker *make) {
make.arrange.vertically.ascii(@"|[v1]-[v2(==v1)]-[v3(==v1)]|");
}];
```

Complete set of examples you may find in MASExampleBasicArrangeView
I'll be glad to hear any feedback on this.