//
|
// NSArray+MASAdditions.h
|
//
|
//
|
// Created by Daniel Hammond on 11/26/13.
|
//
|
//
|
|
#import "MASUtilities.h"
|
#import "MASConstraintMaker.h"
|
#import "MASViewAttribute.h"
|
|
typedef NS_ENUM(NSUInteger, MASAxisType) {
|
MASAxisTypeHorizontal,
|
MASAxisTypeVertical
|
};
|
|
@interface NSArray (MASAdditions)
|
|
/**
|
* Creates a MASConstraintMaker with each view in the callee.
|
* Any constraints defined are added to the view or the appropriate superview once the block has finished executing on each view
|
*
|
* @param block scope within which you can build up the constraints which you wish to apply to each view.
|
*
|
* @return Array of created MASConstraints
|
*/
|
- (NSArray *)mas_makeConstraints:(void (^)(MASConstraintMaker *make))block;
|
|
/**
|
* Creates a MASConstraintMaker with each view in the callee.
|
* Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view.
|
* If an existing constraint exists then it will be updated instead.
|
*
|
* @param block scope within which you can build up the constraints which you wish to apply to each view.
|
*
|
* @return Array of created/updated MASConstraints
|
*/
|
- (NSArray *)mas_updateConstraints:(void (^)(MASConstraintMaker *make))block;
|
|
/**
|
* Creates a MASConstraintMaker with each view in the callee.
|
* Any constraints defined are added to each view or the appropriate superview once the block has finished executing on each view.
|
* All constraints previously installed for the views will be removed.
|
*
|
* @param block scope within which you can build up the constraints which you wish to apply to each view.
|
*
|
* @return Array of created/updated MASConstraints
|
*/
|
- (NSArray *)mas_remakeConstraints:(void (^)(MASConstraintMaker *make))block;
|
|
/**
|
* distribute with fixed spacing
|
*
|
* @param axisType which axis to distribute items along
|
* @param fixedSpacing the spacing between each item
|
* @param leadSpacing the spacing before the first item and the container
|
* @param tailSpacing the spacing after the last item and the container
|
*/
|
- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedSpacing:(CGFloat)fixedSpacing leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing;
|
|
/**
|
* distribute with fixed item size
|
*
|
* @param axisType which axis to distribute items along
|
* @param fixedItemLength the fixed length of each item
|
* @param leadSpacing the spacing before the first item and the container
|
* @param tailSpacing the spacing after the last item and the container
|
*/
|
- (void)mas_distributeViewsAlongAxis:(MASAxisType)axisType withFixedItemLength:(CGFloat)fixedItemLength leadSpacing:(CGFloat)leadSpacing tailSpacing:(CGFloat)tailSpacing;
|
|
@end
|