From 83b9d5c682b21d88133f24da0f94dd56bd79e687 Mon Sep 17 00:00:00 2001
From: 单军华
Date: Thu, 19 Jul 2018 13:38:55 +0800
Subject: [PATCH] change
---
screendisplay/Pods/Masonry/Masonry/NSArray+MASAdditions.m | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 162 insertions(+), 0 deletions(-)
diff --git a/screendisplay/Pods/Masonry/Masonry/NSArray+MASAdditions.m b/screendisplay/Pods/Masonry/Masonry/NSArray+MASAdditions.m
new file mode 100755
index 0000000..831d8cd
--- /dev/null
+++ b/screendisplay/Pods/Masonry/Masonry/NSArray+MASAdditions.m
@@ -0,0 +1,162 @@
+//
+// NSArray+MASAdditions.m
+//
+//
+// Created by Daniel Hammond on 11/26/13.
+//
+//
+
+#import "NSArray+MASAdditions.h"
+#import "View+MASAdditions.h"
+
+@implementation NSArray (MASAdditions)
+
+- (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block {
+ NSMutableArray *constraints = [NSMutableArray array];
+ for (MAS_VIEW *view in self) {
+ NSAssert([view isKindOfClass:[MAS_VIEW class]], @"All objects in the array must be views");
+ [constraints addObjectsFromArray:[view mas_makeConstraints:block]];
+ }
+ return constraints;
+}
+
+- (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block {
+ NSMutableArray *constraints = [NSMutableArray array];
+ for (MAS_VIEW *view in self) {
+ NSAssert([view isKindOfClass:[MAS_VIEW class]], @"All objects in the array must be views");
+ [constraints addObjectsFromArray:[view mas_updateConstraints:block]];
+ }
+ return constraints;
+}
+
+- (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block {
+ NSMutableArray *constraints = [NSMutableArray array];
+ for (MAS_VIEW *view in self) {
+ NSAssert([view isKindOfClass:[MAS_VIEW class]], @"All objects in the array must be views");
+ [constraints addObjectsFromArray:[view mas_remakeConstraints:block]];
+ }
+ return constraints;
+}
+
+- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedSpacing:(CGFloat)fixedSpacing leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing {
+ if (self.count < 2) {
+ NSAssert(self.count>1,@"views to distribute need to bigger than one");
+ return;
+ }
+
+ MAS_VIEW *tempSuperView = [self mas_commonSuperviewOfViews];
+ if (axisType == MASAxisTypeHorizontal) {
+ MAS_VIEW *prev;
+ for (int i = 0; i < self.count; i++) {
+ MAS_VIEW *v = self[i];
+ [v mas_makeConstraints:^(MASConstraintMaker *make) {
+ if (prev) {
+ make.width.equalTo(prev);
+ make.left.equalTo(prev.mas_right).offset(fixedSpacing);
+ if (i == self.count - 1) {//last one
+ make.right.equalTo(tempSuperView).offset(-tailSpacing);
+ }
+ }
+ else {//first one
+ make.left.equalTo(tempSuperView).offset(leadSpacing);
+ }
+
+ }];
+ prev = v;
+ }
+ }
+ else {
+ MAS_VIEW *prev;
+ for (int i = 0; i < self.count; i++) {
+ MAS_VIEW *v = self[i];
+ [v mas_makeConstraints:^(MASConstraintMaker *make) {
+ if (prev) {
+ make.height.equalTo(prev);
+ make.top.equalTo(prev.mas_bottom).offset(fixedSpacing);
+ if (i == self.count - 1) {//last one
+ make.bottom.equalTo(tempSuperView).offset(-tailSpacing);
+ }
+ }
+ else {//first one
+ make.top.equalTo(tempSuperView).offset(leadSpacing);
+ }
+
+ }];
+ prev = v;
+ }
+ }
+}
+
+- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedItemLength:(CGFloat)fixedItemLength leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing {
+ if (self.count < 2) {
+ NSAssert(self.count>1,@"views to distribute need to bigger than one");
+ return;
+ }
+
+ MAS_VIEW *tempSuperView = [self mas_commonSuperviewOfViews];
+ if (axisType == MASAxisTypeHorizontal) {
+ MAS_VIEW *prev;
+ for (int i = 0; i < self.count; i++) {
+ MAS_VIEW *v = self[i];
+ [v mas_makeConstraints:^(MASConstraintMaker *make) {
+ make.width.equalTo(@(fixedItemLength));
+ if (prev) {
+ if (i == self.count - 1) {//last one
+ make.right.equalTo(tempSuperView).offset(-tailSpacing);
+ }
+ else {
+ CGFloat offset = (1-(i/((CGFloat)self.count-1)))*(fixedItemLength+leadSpacing)-i*tailSpacing/(((CGFloat)self.count-1));
+ make.right.equalTo(tempSuperView).multipliedBy(i/((CGFloat)self.count-1)).with.offset(offset);
+ }
+ }
+ else {//first one
+ make.left.equalTo(tempSuperView).offset(leadSpacing);
+ }
+ }];
+ prev = v;
+ }
+ }
+ else {
+ MAS_VIEW *prev;
+ for (int i = 0; i < self.count; i++) {
+ MAS_VIEW *v = self[i];
+ [v mas_makeConstraints:^(MASConstraintMaker *make) {
+ make.height.equalTo(@(fixedItemLength));
+ if (prev) {
+ if (i == self.count - 1) {//last one
+ make.bottom.equalTo(tempSuperView).offset(-tailSpacing);
+ }
+ else {
+ CGFloat offset = (1-(i/((CGFloat)self.count-1)))*(fixedItemLength+leadSpacing)-i*tailSpacing/(((CGFloat)self.count-1));
+ make.bottom.equalTo(tempSuperView).multipliedBy(i/((CGFloat)self.count-1)).with.offset(offset);
+ }
+ }
+ else {//first one
+ make.top.equalTo(tempSuperView).offset(leadSpacing);
+ }
+ }];
+ prev = v;
+ }
+ }
+}
+
+- (MAS_VIEW *)mas_commonSuperviewOfViews
+{
+ MAS_VIEW *commonSuperview = nil;
+ MAS_VIEW *previousView = nil;
+ for (id object in self) {
+ if ([object isKindOfClass:[MAS_VIEW class]]) {
+ MAS_VIEW *view = (MAS_VIEW *)object;
+ if (previousView) {
+ commonSuperview = [view mas_closestCommonSuperview:commonSuperview];
+ } else {
+ commonSuperview = view;
+ }
+ previousView = view;
+ }
+ }
+ NSAssert(commonSuperview, @"Can't constrain views that do not share a common superview. Make sure that all the views in this array have been added into the same view hierarchy.");
+ return commonSuperview;
+}
+
+@end
--
Gitblit v1.8.0