New file |
| | |
| | | // |
| | | // 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 |