support flexible top container
Summary: The main container that gets called `applyLayoutPreservingOrigin:` is using its size as a fixed bounding box. In some cases it's preferrable to let it accomodate its contents. This diffs extends `applyLayoutPreservingOrigin:` by adding an additional parameter which can be used to sepecify whether width and/or height are fixed or flexible. Feel free to suggest better names than `YGDimensionFlexibility` & co. Let me know if you prefet to kill the API without flexiblity specifier - I'll codemod everything then. Reviewed By: dshahidehpour Differential Revision: D4929702 fbshipit-source-id: f128f244140b4a54d8ce3b3f4edddbb9756f8fdf
This commit is contained in:
committed by
Facebook Github Bot
parent
f8a2903d02
commit
849de89a58
@@ -10,6 +10,11 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <yoga/YGEnums.h>
|
||||
|
||||
typedef NS_OPTIONS(NSInteger, YGDimensionFlexibility) {
|
||||
YGDimensionFlexibilityFlexibleWidth = 1 << 0,
|
||||
YGDimensionFlexibilityFlexibleHeigth = 1 << 1,
|
||||
};
|
||||
|
||||
@interface YGLayout : NSObject
|
||||
|
||||
/**
|
||||
@@ -95,6 +100,13 @@
|
||||
- (void)applyLayoutPreservingOrigin:(BOOL)preserveOrigin
|
||||
NS_SWIFT_NAME(applyLayout(preservingOrigin:));
|
||||
|
||||
/**
|
||||
Perform a layout calculation and update the frames of the views in the hierarchy with the results.
|
||||
If the origin is not preserved, the root view's layout results will applied from {0,0}.
|
||||
*/
|
||||
- (void)applyLayoutPreservingOrigin:(BOOL)preserveOrigin dimensionFlexibility:(YGDimensionFlexibility)dimensionFlexibility
|
||||
NS_SWIFT_NAME(applyLayout(preservingOrigin:dimensionFlexibility:));
|
||||
|
||||
/**
|
||||
Returns the size of the view if no constraints were given. This could equivalent to calling [self
|
||||
sizeThatFits:CGSizeMake(CGFLOAT_MAX, CGFLOAT_MAX)];
|
||||
|
Reference in New Issue
Block a user