/* * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the LICENSE * file in the root directory of this source tree. */ #import "YGLayout.h" #import NS_ASSUME_NONNULL_BEGIN typedef void (^YGLayoutConfigurationBlock)(YGLayout *layout); typedef void (^YGLayoutContainerConfigurationBlock)(YGLayout *layout, UIView *container); @interface UIView (Yoga) /** The YGLayout that is attached to this view. It is lazily created. */ @property (nonatomic, readonly, strong) YGLayout *yoga; /** Indicates whether or not Yoga is enabled */ @property (nonatomic, readonly, assign) BOOL isYogaEnabled; /** In ObjC land, every time you access `view.yoga.*` you are adding another `objc_msgSend` to your code. If you plan on making multiple changes to YGLayout, it's more performant to use this method, which uses a single objc_msgSend call. */ - (void)configureLayoutWithBlock:(YGLayoutConfigurationBlock)block NS_SWIFT_NAME(configureLayout(block:)); /** In ObjC land, every time you access `view.yoga.*` you are adding another `objc_msgSend` to your code. If you plan on making multiple changes to YGLayout, it's more performant to use this method, which uses a single objc_msgSend call. */ - (void)configureLayoutWithContainerBlock:(YGLayoutContainerConfigurationBlock)block NS_SWIFT_NAME(configureLayout(containerBlock:)); @end NS_ASSUME_NONNULL_END