ASLayoutElementStyle Class Reference
Inherits from | NSObject |
---|---|
Conforms to | ASAbsoluteLayoutElement ASStackLayoutElement |
Declared in | ASLayoutElement.h |
– initWithDelegate:
Initializes the layoutElement style with a specified delegate
- (instancetype)initWithDelegate:(id<ASLayoutElementStyleDelegate>)delegate
Declared In
ASLayoutElement.h
delegate
The object that acts as the delegate of the style.
@property (nullable, nonatomic, weak, readonly) id<ASLayoutElementStyleDelegate> delegate
Discussion
The delegate must adopt the ASLayoutElementStyleDelegate protocol. The delegate is not retained.
Declared In
ASLayoutElement.h
width
The width property specifies the height of the content area of an ASLayoutElement. The minWidth and maxWidth properties override width. Defaults to ASDimensionAuto
@property (nonatomic, assign, readwrite) ASDimension width
Declared In
ASLayoutElement.h
height
The height property specifies the height of the content area of an ASLayoutElement The minHeight and maxHeight properties override height. Defaults to ASDimensionAuto
@property (nonatomic, assign, readwrite) ASDimension height
Declared In
ASLayoutElement.h
minHeight
The minHeight property is used to set the minimum height of a given element. It prevents the used value of the height property from becoming smaller than the value specified for minHeight. The value of minHeight overrides both maxHeight and height. Defaults to ASDimensionAuto
@property (nonatomic, assign, readwrite) ASDimension minHeight
Declared In
ASLayoutElement.h
maxHeight
The maxHeight property is used to set the maximum height of an element. It prevents the used value of the height property from becoming larger than the value specified for maxHeight. The value of maxHeight overrides height, but minHeight overrides maxHeight. Defaults to ASDimensionAuto
@property (nonatomic, assign, readwrite) ASDimension maxHeight
Declared In
ASLayoutElement.h
minWidth
The minWidth property is used to set the minimum width of a given element. It prevents the used value of the width property from becoming smaller than the value specified for minWidth. The value of minWidth overrides both maxWidth and width. Defaults to ASDimensionAuto
@property (nonatomic, assign, readwrite) ASDimension minWidth
Declared In
ASLayoutElement.h
maxWidth
The maxWidth property is used to set the maximum width of a given element. It prevents the used value of the width property from becoming larger than the value specified for maxWidth. The value of maxWidth overrides width, but minWidth overrides maxWidth. Defaults to ASDimensionAuto
@property (nonatomic, assign, readwrite) ASDimension maxWidth
Declared In
ASLayoutElement.h
preferredSize
Provides a suggested size for a layout element. If the optional minSize or maxSize are provided, and the preferredSize exceeds these, the minSize or maxSize will be enforced. If this optional value is not provided, the layout element’s size will default to it’s intrinsic content size provided calculateSizeThatFits:
@property (nonatomic, assign) CGSize preferredSize
Discussion
This method is optional, but one of either preferredSize or preferredLayoutSize is required for nodes that either have no intrinsic content size or should be laid out at a different size than its intrinsic content size. For example, this property could be set on an ASImageNode to display at a size different from the underlying image size.
Warning: Calling the getter when the size’s width or height are relative will cause an assert.
Declared In
ASLayoutElement.h
minSize
An optional property that provides a minimum size bound for a layout element. If provided, this restriction will always be enforced. If a parent layout element’s minimum size is smaller than its child’s minimum size, the child’s minimum size will be enforced and its size will extend out of the layout spec’s.
@property (nonatomic, assign) CGSize minSize
Discussion
For example, if you set a preferred relative width of 50% and a minimum width of 200 points on an element in a full screen container, this would result in a width of 160 points on an iPhone screen. However, since 160 pts is lower than the minimum width of 200 pts, the minimum width would be used.
Declared In
ASLayoutElement.h
maxSize
An optional property that provides a maximum size bound for a layout element. If provided, this restriction will always be enforced. If a child layout element’s maximum size is smaller than its parent, the child’s maximum size will be enforced and its size will extend out of the layout spec’s.
@property (nonatomic, assign) CGSize maxSize
Discussion
For example, if you set a preferred relative width of 50% and a maximum width of 120 points on an element in a full screen container, this would result in a width of 160 points on an iPhone screen. However, since 160 pts is higher than the maximum width of 120 pts, the maximum width would be used.
Declared In
ASLayoutElement.h
preferredLayoutSize
Provides a suggested RELATIVE size for a layout element. An ASLayoutSize uses percentages rather than points to specify layout. E.g. width should be 50% of the parent’s width. If the optional minLayoutSize or maxLayoutSize are provided, and the preferredLayoutSize exceeds these, the minLayoutSize or maxLayoutSize will be enforced. If this optional value is not provided, the layout element’s size will default to its intrinsic content size provided calculateSizeThatFits:
@property (nonatomic, assign, readwrite) ASLayoutSize preferredLayoutSize
Declared In
ASLayoutElement.h
minLayoutSize
An optional property that provides a minimum RELATIVE size bound for a layout element. If provided, this restriction will always be enforced. If a parent layout element’s minimum relative size is smaller than its child’s minimum relative size, the child’s minimum relative size will be enforced and its size will extend out of the layout spec’s.
@property (nonatomic, assign, readwrite) ASLayoutSize minLayoutSize
Declared In
ASLayoutElement.h
maxLayoutSize
An optional property that provides a maximum RELATIVE size bound for a layout element. If provided, this restriction will always be enforced. If a parent layout element’s maximum relative size is smaller than its child’s maximum relative size, the child’s maximum relative size will be enforced and its size will extend out of the layout spec’s.
@property (nonatomic, assign, readwrite) ASLayoutSize maxLayoutSize
Declared In
ASLayoutElement.h