123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- //
- // 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 (NS_NOESCAPE ^)(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 (NS_NOESCAPE ^)(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 (NS_NOESCAPE ^)(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
|