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/MASCompositeConstraint.m | 183 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 183 insertions(+), 0 deletions(-)
diff --git a/screendisplay/Pods/Masonry/Masonry/MASCompositeConstraint.m b/screendisplay/Pods/Masonry/Masonry/MASCompositeConstraint.m
new file mode 100755
index 0000000..2002a40
--- /dev/null
+++ b/screendisplay/Pods/Masonry/Masonry/MASCompositeConstraint.m
@@ -0,0 +1,183 @@
+//
+// MASCompositeConstraint.m
+// Masonry
+//
+// Created by Jonas Budelmann on 21/07/13.
+// Copyright (c) 2013 cloudling. All rights reserved.
+//
+
+#import "MASCompositeConstraint.h"
+#import "MASConstraint+Private.h"
+
+@interface MASCompositeConstraint () <MASConstraintDelegate>
+
+@property (nonatomic, strong) id mas_key;
+@property (nonatomic, strong) NSMutableArray *childConstraints;
+
+@end
+
+@implementation MASCompositeConstraint
+
+- (id)initWithChildren:(NSArray *)children {
+ self = [super init];
+ if (!self) return nil;
+
+ _childConstraints = [children mutableCopy];
+ for (MASConstraint *constraint in _childConstraints) {
+ constraint.delegate = self;
+ }
+
+ return self;
+}
+
+#pragma mark - MASConstraintDelegate
+
+- (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(MASConstraint *)replacementConstraint {
+ NSUInteger index = [self.childConstraints indexOfObject:constraint];
+ NSAssert(index != NSNotFound, @"Could not find constraint %@", constraint);
+ [self.childConstraints replaceObjectAtIndex:index withObject:replacementConstraint];
+}
+
+- (MASConstraint *)constraint:(MASConstraint __unused *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute {
+ id<MASConstraintDelegate> strongDelegate = self.delegate;
+ MASConstraint *newConstraint = [strongDelegate constraint:self addConstraintWithLayoutAttribute:layoutAttribute];
+ newConstraint.delegate = self;
+ [self.childConstraints addObject:newConstraint];
+ return newConstraint;
+}
+
+#pragma mark - NSLayoutConstraint multiplier proxies
+
+- (MASConstraint * (^)(CGFloat))multipliedBy {
+ return ^id(CGFloat multiplier) {
+ for (MASConstraint *constraint in self.childConstraints) {
+ constraint.multipliedBy(multiplier);
+ }
+ return self;
+ };
+}
+
+- (MASConstraint * (^)(CGFloat))dividedBy {
+ return ^id(CGFloat divider) {
+ for (MASConstraint *constraint in self.childConstraints) {
+ constraint.dividedBy(divider);
+ }
+ return self;
+ };
+}
+
+#pragma mark - MASLayoutPriority proxy
+
+- (MASConstraint * (^)(MASLayoutPriority))priority {
+ return ^id(MASLayoutPriority priority) {
+ for (MASConstraint *constraint in self.childConstraints) {
+ constraint.priority(priority);
+ }
+ return self;
+ };
+}
+
+#pragma mark - NSLayoutRelation proxy
+
+- (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation {
+ return ^id(id attr, NSLayoutRelation relation) {
+ for (MASConstraint *constraint in self.childConstraints.copy) {
+ constraint.equalToWithRelation(attr, relation);
+ }
+ return self;
+ };
+}
+
+#pragma mark - attribute chaining
+
+- (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute {
+ [self constraint:self addConstraintWithLayoutAttribute:layoutAttribute];
+ return self;
+}
+
+#pragma mark - Animator proxy
+
+#if TARGET_OS_MAC && !(TARGET_OS_IPHONE || TARGET_OS_TV)
+
+- (MASConstraint *)animator {
+ for (MASConstraint *constraint in self.childConstraints) {
+ [constraint animator];
+ }
+ return self;
+}
+
+#endif
+
+#pragma mark - debug helpers
+
+- (MASConstraint * (^)(id))key {
+ return ^id(id key) {
+ self.mas_key = key;
+ int i = 0;
+ for (MASConstraint *constraint in self.childConstraints) {
+ constraint.key([NSString stringWithFormat:@"%@[%d]", key, i++]);
+ }
+ return self;
+ };
+}
+
+#pragma mark - NSLayoutConstraint constant setters
+
+- (void)setInsets:(MASEdgeInsets)insets {
+ for (MASConstraint *constraint in self.childConstraints) {
+ constraint.insets = insets;
+ }
+}
+
+- (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;
+ }
+}
+
+- (void)setSizeOffset:(CGSize)sizeOffset {
+ for (MASConstraint *constraint in self.childConstraints) {
+ constraint.sizeOffset = sizeOffset;
+ }
+}
+
+- (void)setCenterOffset:(CGPoint)centerOffset {
+ for (MASConstraint *constraint in self.childConstraints) {
+ constraint.centerOffset = centerOffset;
+ }
+}
+
+#pragma mark - MASConstraint
+
+- (void)activate {
+ for (MASConstraint *constraint in self.childConstraints) {
+ [constraint activate];
+ }
+}
+
+- (void)deactivate {
+ for (MASConstraint *constraint in self.childConstraints) {
+ [constraint deactivate];
+ }
+}
+
+- (void)install {
+ for (MASConstraint *constraint in self.childConstraints) {
+ constraint.updateExisting = self.updateExisting;
+ [constraint install];
+ }
+}
+
+- (void)uninstall {
+ for (MASConstraint *constraint in self.childConstraints) {
+ [constraint uninstall];
+ }
+}
+
+@end
--
Gitblit v1.8.0