67 lines
1.7 KiB
Objective-C
67 lines
1.7 KiB
Objective-C
//
|
|
// 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
|