[Layout] Move [ASLayoutSpec children] from std::map to NSMutableArray (#2253)

* Initial commit to move [ASLayoutSpec children] from std::map to NSMutableArray

* Add NSFastEnumeration to ASLayoutable

* ASNullLayoutSpec is a Singleton now

* Move ASLayoutSpecPrivate in Private folder

* Move to NSArrayPointer and remove ASNullLayoutSpec

* Revert "Move to NSArrayPointer and remove ASNullLayoutSpec"

This reverts commit 9ab9cf7024b1f6e1984d84fe58af2b84e84cdf94.

* Move to childAtIndex: and setChild:atIndex:
This commit is contained in:
Michael Schneider
2016-09-27 16:41:45 -07:00
committed by Adlai Holler
parent 8a4d4e3b5c
commit 2f99951732
13 changed files with 341 additions and 154 deletions

View File

@@ -17,11 +17,16 @@ NS_ASSUME_NONNULL_BEGIN
*/
@interface ASBackgroundLayoutSpec : ASLayoutSpec
/**
* Background layoutable for this layout spec
*/
@property (nullable, nonatomic, strong) id<ASLayoutable> background;
/**
@param child A child that is laid out to determine the size of this spec.
@param background A layoutable object that is laid out behind the child. If this is nil, the background is omitted.
* Creates and returns an ASBackgroundLayoutSpec object
*
* @param child A child that is laid out to determine the size of this spec.
* @param background A layoutable object that is laid out behind the child. If this is nil, the background is omitted.
*/
+ (instancetype)backgroundLayoutSpecWithChild:(id<ASLayoutable>)child background:(nullable id<ASLayoutable>)background;