CKCompositeComponent Class Reference

Inherits from CKComponent : NSObject
Declared in CKCompositeComponent.h

Overview

CKCompositeComponent allows you to hide your implementation details and avoid subclassing layout components like CKFlexboxComponent. In almost all cases, you should subclass CKCompositeComponent instead of subclassing any other class directly.

For example, suppose you create a component that should lay out some children in a vertical stack. Incorrect: subclass CKFlexboxComponent and call self newWithChildren:. Correct: subclass CKCompositeComponent and call super newWithComponent:[CKFlexboxComponent newWithChildren...

This hides your layout implementation details from the outside world.

Warning: Overriding -layoutThatFits:parentSize: or -computeLayoutThatFits: is not allowed for any subclass.

+ newWithComponent:

Calls the initializer with {} for view.

+ (nullable instancetype)newWithComponent:(NS_RELEASES_ARGUMENT id<CKMountable> _Nullable)component

Declared In

CKCompositeComponent.h

+ newWithView:component:

DEPRECATED - Do not use. Use CK::CompositeComponentBuilder instead.

+ (nullable instancetype)newWithView:(const CKComponentViewConfiguration &)view component:(NS_RELEASES_ARGUMENT id<CKMountable> _Nullable)component

Parameters

view

Passed to CKComponent’s initializer. This should be used sparingly for CKCompositeComponent. Prefer delegating view configuration completely to the child component to hide implementation details.

component

The component the composite component uses for layout and sizing.

Declared In

CKCompositeComponent.h

  child

Access the child component. For internal use only.

@property (nonatomic, strong, readonly, nullable) id<CKMountable> child

Declared In

CKCompositeComponent.h