ASLayoutSpec Class Reference
Inherits from | NSObject |
---|---|
Conforms to | ASLayoutElement |
Declared in | ASLayoutSpec.h |
isMutable
Creation of a layout spec should only happen by a user in layoutSpecThatFits:. During that method, a layout spec can be created and mutated. Once it is passed back to ASDK, the isMutable flag will be set to NO and any further mutations will cause an assert.
@property (nonatomic, assign) BOOL isMutable
Declared In
ASLayoutSpec.h
parent
Parent of the layout spec
@property (nullable, nonatomic, weak) id<ASLayoutElement> parent
Declared In
ASLayoutSpec.h
child
Adds a child to this layout spec using a default identifier.
@property (nullable, strong, nonatomic) id<ASLayoutElement> child
Parameters
child |
A child to be added. |
---|
Discussion
Every ASLayoutSpec must act on at least one child. The ASLayoutSpec base class takes the responsibility of holding on to the spec children. Some layout specs, like ASInsetLayoutSpec, only require a single child.
For layout specs that require a known number of children (ASBackgroundLayoutSpec, for example) a subclass should use this method to set the “primary” child. It can then use setChild:forIdentifier: to set any other required children. Ideally a subclass would hide this from the user, and use the setChild:forIdentifier: internally. For example, ASBackgroundLayoutSpec exposes a backgroundChild property that behind the scenes is calling setChild:forIdentifier:.
Declared In
ASLayoutSpec.h
children
Adds childen to this layout spec.
@property (nullable, strong, nonatomic) NSArray<id<ASLayoutElement> > *children
Parameters
children |
An array of ASLayoutElement children to be added. |
---|
Discussion
Every ASLayoutSpec must act on at least one child. The ASLayoutSpec base class takes the reponsibility of holding on to the spec children. Some layout specs, like ASStackLayoutSpec, can take an unknown number of children. In this case, the this method should be used. For good measure, in these layout specs it probably makes sense to define setChild: and setChild:forIdentifier: methods to do something appropriate or to assert.
Declared In
ASLayoutSpec.h