|
@@ -0,0 +1,77 @@
|
|
|
+//
|
|
|
+// MASExampleAttributeChainingView.m
|
|
|
+// Masonry iOS Examples
|
|
|
+//
|
|
|
+// Created by Jonas Budelmann on 31/03/14.
|
|
|
+// Copyright (c) 2014 Jonas Budelmann. All rights reserved.
|
|
|
+//
|
|
|
+
|
|
|
+#import "MASExampleAttributeChainingView.h"
|
|
|
+
|
|
|
+@implementation MASExampleAttributeChainingView
|
|
|
+
|
|
|
+- (id)init {
|
|
|
+ self = [super init];
|
|
|
+ if (!self) return nil;
|
|
|
+
|
|
|
+ UIView *view1 = UIView.new;
|
|
|
+ view1.backgroundColor = UIColor.greenColor;
|
|
|
+ view1.layer.borderColor = UIColor.blackColor.CGColor;
|
|
|
+ view1.layer.borderWidth = 2;
|
|
|
+ [self addSubview:view1];
|
|
|
+
|
|
|
+ UIView *view2 = UIView.new;
|
|
|
+ view2.backgroundColor = UIColor.redColor;
|
|
|
+ view2.layer.borderColor = UIColor.blackColor.CGColor;
|
|
|
+ view2.layer.borderWidth = 2;
|
|
|
+ [self addSubview:view2];
|
|
|
+
|
|
|
+ UIView *view3 = UIView.new;
|
|
|
+ view3.backgroundColor = UIColor.blueColor;
|
|
|
+ view3.layer.borderColor = UIColor.blackColor.CGColor;
|
|
|
+ view3.layer.borderWidth = 2;
|
|
|
+ [self addSubview:view3];
|
|
|
+
|
|
|
+ UIView *superview = self;
|
|
|
+ UIEdgeInsets padding = UIEdgeInsetsMake(15, 10, 15, 10);
|
|
|
+
|
|
|
+
|
|
|
+ [view1 mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ // chain attributes
|
|
|
+ make.top.and.left.greaterThanOrEqualTo(superview).insets(padding);
|
|
|
+
|
|
|
+ // which is the equivalent of
|
|
|
+// make.top.greaterThanOrEqualTo(superview).insets(padding);
|
|
|
+// make.left.greaterThanOrEqualTo(superview).insets(padding);
|
|
|
+
|
|
|
+ make.bottom.equalTo(view3.mas_top).insets(padding);
|
|
|
+ make.right.equalTo(view2.mas_left).insets(padding);
|
|
|
+ make.width.equalTo(view2.mas_width);
|
|
|
+
|
|
|
+ make.height.equalTo(@[view2, view3]);
|
|
|
+ }];
|
|
|
+
|
|
|
+ [view2 mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ // chain attributes
|
|
|
+ make.top.and.right.equalTo(superview).insets(padding);
|
|
|
+
|
|
|
+ make.left.equalTo(view1.mas_right).insets(padding);
|
|
|
+ make.bottom.equalTo(view3.mas_top).insets(padding);
|
|
|
+ make.width.equalTo(view1.mas_width);
|
|
|
+
|
|
|
+ make.height.equalTo(@[view1, view3]);
|
|
|
+ }];
|
|
|
+
|
|
|
+ [view3 mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
+ make.top.equalTo(view1.mas_bottom).insets(padding);
|
|
|
+
|
|
|
+ // chain attributes
|
|
|
+ make.left.right.and.bottom.equalTo(superview).insets(padding);
|
|
|
+
|
|
|
+ make.height.equalTo(@[view1, view2]);
|
|
|
+ }];
|
|
|
+
|
|
|
+ return self;
|
|
|
+}
|
|
|
+
|
|
|
+@end
|