123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- //
- // MASConstraint+Private.h
- // Masonry
- //
- // Created by Nick Tymchenko on 29/04/14.
- // Copyright (c) 2014 cloudling. All rights reserved.
- //
- #import "MASConstraint.h"
- @protocol MASConstraintDelegate;
- @interface MASConstraint ()
- /**
- * Whether or not to check for an existing constraint instead of adding constraint
- */
- @property (nonatomic, assign) BOOL updateExisting;
- /**
- * Usually MASConstraintMaker but could be a parent MASConstraint
- */
- @property (nonatomic, weak) id<MASConstraintDelegate> delegate;
- /**
- * Based on a provided value type, is equal to calling:
- * NSNumber - setOffset:
- * NSValue with CGPoint - setPointOffset:
- * NSValue with CGSize - setSizeOffset:
- * NSValue with MASEdgeInsets - setInsets:
- */
- - (void)setLayoutConstantWithValue:(NSValue *)value;
- @end
- @interface MASConstraint (Abstract)
- /**
- * Sets the constraint relation to given NSLayoutRelation
- * returns a block which accepts one of the following:
- * MASViewAttribute, UIView, NSValue, NSArray
- * see readme for more details.
- */
- - (MASConstraint * (^)(id, NSLayoutRelation))equalToWithRelation;
- /**
- * Override to set a custom chaining behaviour
- */
- - (MASConstraint *)addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute;
- @end
- @protocol MASConstraintDelegate <NSObject>
- /**
- * Notifies the delegate when the constraint needs to be replaced with another constraint. For example
- * A MASViewConstraint may turn into a MASCompositeConstraint when an array is passed to one of the equality blocks
- */
- - (void)constraint:(MASConstraint *)constraint shouldBeReplacedWithConstraint:(MASConstraint *)replacementConstraint;
- - (MASConstraint *)constraint:(MASConstraint *)constraint addConstraintWithLayoutAttribute:(NSLayoutAttribute)layoutAttribute;
- @end
|