addressed some comments

This commit is contained in:
rcancro 2016-05-03 21:55:04 -07:00
parent 8bb4eba080
commit b4a6f87ca6
14 changed files with 59 additions and 60 deletions

View File

@ -245,6 +245,6 @@
[self.view reloadDataImmediately]; [self.view reloadDataImmediately];
} }
ASDisplayTraitsCollectionTableSetEnvironmentState ASEnvironmentDisplayTraitsCollectionTableSetEnvironmentState
@end @end

View File

@ -2709,12 +2709,12 @@ static const char *ASDisplayNodeDrawingPriorityKey = "ASDrawingPriority";
- (BOOL)supportsUpwardPropagation - (BOOL)supportsUpwardPropagation
{ {
return ASEnvironmentStateUpwardPropagationEnabled(); return ASEnvironmentStatePropagationEnabled();
} }
- (BOOL)supportsDownwardPropagation - (BOOL)supportsTraitsCollectionPropagation
{ {
return ASEnvironmentStateDownwardPropagationEnabled(); return ASEnvironmentStateTraitCollectionPropagationEnabled();
} }
ASEnvironmentLayoutOptionsForwarding ASEnvironmentLayoutOptionsForwarding

View File

@ -159,6 +159,6 @@
[self.view clearFetchedData]; [self.view clearFetchedData];
} }
ASDisplayTraitsCollectionTableSetEnvironmentState ASEnvironmentDisplayTraitsCollectionTableSetEnvironmentState
@end @end

View File

@ -11,8 +11,8 @@
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
typedef ASDisplayTraits (^ASDisplayTraitsForTraitCollectionBlock)(UITraitCollection *traitCollection); typedef ASEnvironmentDisplayTraits (^ASEnvironmentDisplayTraitsForTraitCollectionBlock)(UITraitCollection *traitCollection);
typedef ASDisplayTraits (^ASDisplayTraitsForTraitWindowSizeBlock)(CGSize windowSize); typedef ASEnvironmentDisplayTraits (^ASEnvironmentDisplayTraitsForTraitWindowSizeBlock)(CGSize windowSize);
@interface ASViewController<__covariant DisplayNodeType : ASDisplayNode *> : UIViewController @interface ASViewController<__covariant DisplayNodeType : ASDisplayNode *> : UIViewController
@ -25,12 +25,12 @@ typedef ASDisplayTraits (^ASDisplayTraitsForTraitWindowSizeBlock)(CGSize windowS
/** /**
* Set this block to customize the ASDisplayTraits returned when the VC transitions to the given traitCollection. * Set this block to customize the ASDisplayTraits returned when the VC transitions to the given traitCollection.
*/ */
@property (nonatomic, copy) ASDisplayTraitsForTraitCollectionBlock overrideDisplayTraitsWithTraitCollection; @property (nonatomic, copy) ASEnvironmentDisplayTraitsForTraitCollectionBlock overrideDisplayTraitsWithTraitCollection;
/** /**
* Set this block to customize the ASDisplayTraits returned when the VC transitions to the given window size. * Set this block to customize the ASDisplayTraits returned when the VC transitions to the given window size.
*/ */
@property (nonatomic, copy) ASDisplayTraitsForTraitWindowSizeBlock overrideDisplayTraitsWithWindowSize; @property (nonatomic, copy) ASEnvironmentDisplayTraitsForTraitWindowSizeBlock overrideDisplayTraitsWithWindowSize;
/** /**
* @abstract Passthrough property to the the .interfaceState of the node. * @abstract Passthrough property to the the .interfaceState of the node.

View File

@ -143,18 +143,18 @@
#pragma mark - ASDisplayTraits #pragma mark - ASDisplayTraits
- (ASDisplayTraits)displayTraitsForTraitCollection:(UITraitCollection *)traitCollection - (ASEnvironmentDisplayTraits)displayTraitsForTraitCollection:(UITraitCollection *)traitCollection
{ {
if (self.overrideDisplayTraitsWithTraitCollection) { if (self.overrideDisplayTraitsWithTraitCollection) {
return self.overrideDisplayTraitsWithTraitCollection(traitCollection); return self.overrideDisplayTraitsWithTraitCollection(traitCollection);
} }
ASDisplayTraits displayTraits = ASDisplayTraitsFromUITraitCollection(traitCollection); ASEnvironmentDisplayTraits displayTraits = ASEnvironmentDisplayTraitsFromUITraitCollection(traitCollection);
displayTraits.displayContext = _displayTraitsContext; displayTraits.displayContext = _displayTraitsContext;
return displayTraits; return displayTraits;
} }
- (ASDisplayTraits)displayTraitsForWindowSize:(CGSize)windowSize - (ASEnvironmentDisplayTraits)displayTraitsForWindowSize:(CGSize)windowSize
{ {
if (self.overrideDisplayTraitsWithWindowSize) { if (self.overrideDisplayTraitsWithWindowSize) {
return self.overrideDisplayTraitsWithWindowSize(windowSize); return self.overrideDisplayTraitsWithWindowSize(windowSize);
@ -162,12 +162,12 @@
return self.node.environmentState.displayTraits; return self.node.environmentState.displayTraits;
} }
- (void)progagateNewDisplayTraits:(ASDisplayTraits)displayTraits - (void)progagateNewDisplayTraits:(ASEnvironmentDisplayTraits)displayTraits
{ {
ASEnvironmentState environmentState = self.node.environmentState; ASEnvironmentState environmentState = self.node.environmentState;
ASDisplayTraits oldDisplayTraits = environmentState.displayTraits; ASEnvironmentDisplayTraits oldDisplayTraits = environmentState.displayTraits;
if (ASDisplayTraitsIsEqualToASDisplayTraits(displayTraits, oldDisplayTraits) == NO) { if (ASEnvironmentDisplayTraitsIsEqualToASEnvironmentDisplayTraits(displayTraits, oldDisplayTraits) == NO) {
environmentState.displayTraits = displayTraits; environmentState.displayTraits = displayTraits;
[self.node setEnvironmentState:environmentState]; [self.node setEnvironmentState:environmentState];
[self.node setNeedsLayout]; [self.node setNeedsLayout];
@ -183,7 +183,7 @@
{ {
[super traitCollectionDidChange:previousTraitCollection]; [super traitCollectionDidChange:previousTraitCollection];
ASDisplayTraits displayTraits = [self displayTraitsForTraitCollection:self.traitCollection]; ASEnvironmentDisplayTraits displayTraits = [self displayTraitsForTraitCollection:self.traitCollection];
[self progagateNewDisplayTraits:displayTraits]; [self progagateNewDisplayTraits:displayTraits];
} }
@ -191,7 +191,7 @@
{ {
[super willTransitionToTraitCollection:newCollection withTransitionCoordinator:coordinator]; [super willTransitionToTraitCollection:newCollection withTransitionCoordinator:coordinator];
ASDisplayTraits displayTraits = [self displayTraitsForTraitCollection:self.traitCollection]; ASEnvironmentDisplayTraits displayTraits = [self displayTraitsForTraitCollection:self.traitCollection];
[self progagateNewDisplayTraits:displayTraits]; [self progagateNewDisplayTraits:displayTraits];
} }
@ -199,7 +199,7 @@
{ {
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator]; [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
ASDisplayTraits displayTraits = [self displayTraitsForWindowSize:size]; ASEnvironmentDisplayTraits displayTraits = [self displayTraitsForWindowSize:size];
[self progagateNewDisplayTraits:displayTraits]; [self progagateNewDisplayTraits:displayTraits];
} }

View File

@ -61,9 +61,9 @@ typedef struct ASEnvironmentHierarchyState {
unsigned layoutPending:1; // = NO unsigned layoutPending:1; // = NO
} ASEnvironmentHierarchyState; } ASEnvironmentHierarchyState;
#pragma mark - ASDisplayTraits #pragma mark - ASEnvironmentDisplayTraits
typedef struct ASDisplayTraits { typedef struct ASEnvironmentDisplayTraits {
CGFloat displayScale; CGFloat displayScale;
UIUserInterfaceSizeClass horizontalSizeClass; UIUserInterfaceSizeClass horizontalSizeClass;
UIUserInterfaceIdiom userInterfaceIdiom; UIUserInterfaceIdiom userInterfaceIdiom;
@ -86,19 +86,19 @@ typedef struct ASDisplayTraits {
// which will propagate a nil displayContext to its subnodes. // which will propagate a nil displayContext to its subnodes.
//__unsafe_unretained id displayContext; //__unsafe_unretained id displayContext;
id __unsafe_unretained displayContext; id __unsafe_unretained displayContext;
} ASDisplayTraits; } ASEnvironmentDisplayTraits;
extern void ASDisplayTraitsClearDisplayContext(id<ASEnvironment> rootEnvironment); extern void ASDisplayTraitsClearDisplayContext(id<ASEnvironment> rootEnvironment);
extern ASDisplayTraits ASDisplayTraitsFromUITraitCollection(UITraitCollection *traitCollection); extern ASEnvironmentDisplayTraits ASEnvironmentDisplayTraitsFromUITraitCollection(UITraitCollection *traitCollection);
extern BOOL ASDisplayTraitsIsEqualToASDisplayTraits(ASDisplayTraits displayTraits0, ASDisplayTraits displayTraits1); extern BOOL ASEnvironmentDisplayTraitsIsEqualToASEnvironmentDisplayTraits(ASEnvironmentDisplayTraits displayTraits0, ASEnvironmentDisplayTraits displayTraits1);
#pragma mark - ASEnvironmentState #pragma mark - ASEnvironmentState
typedef struct ASEnvironmentState { typedef struct ASEnvironmentState {
struct ASEnvironmentHierarchyState hierarchyState; struct ASEnvironmentHierarchyState hierarchyState;
struct ASEnvironmentLayoutOptionsState layoutOptionsState; struct ASEnvironmentLayoutOptionsState layoutOptionsState;
struct ASDisplayTraits displayTraits; struct ASEnvironmentDisplayTraits displayTraits;
} ASEnvironmentState; } ASEnvironmentState;
extern ASEnvironmentState ASEnvironmentStateMakeDefault(); extern ASEnvironmentState ASEnvironmentStateMakeDefault();
@ -129,7 +129,7 @@ ASDISPLAYNODE_EXTERN_C_END
- (BOOL)supportsUpwardPropagation; - (BOOL)supportsUpwardPropagation;
/// Classes should implement this method and return YES / NO dependent if downware propagation is enabled or not /// Classes should implement this method and return YES / NO dependent if downware propagation is enabled or not
- (BOOL)supportsDownwardPropagation; - (BOOL)supportsTraitsCollectionPropagation;
@end @end
@ -140,13 +140,13 @@ ASDISPLAYNODE_EXTERN_C_END
// If there is any new downward propagating state, it should be added to this define. // If there is any new downward propagating state, it should be added to this define.
// //
// This logic is used in both ASCollectionNode and ASTableNode // This logic is used in both ASCollectionNode and ASTableNode
#define ASDisplayTraitsCollectionTableSetEnvironmentState \ #define ASEnvironmentDisplayTraitsCollectionTableSetEnvironmentState \
- (void)setEnvironmentState:(ASEnvironmentState)environmentState\ - (void)setEnvironmentState:(ASEnvironmentState)environmentState\
{\ {\
ASDisplayTraits oldDisplayTraits = self.environmentState.displayTraits;\ ASEnvironmentDisplayTraits oldDisplayTraits = self.environmentState.displayTraits;\
[super setEnvironmentState:environmentState];\ [super setEnvironmentState:environmentState];\
ASDisplayTraits currentDisplayTraits = environmentState.displayTraits;\ ASEnvironmentDisplayTraits currentDisplayTraits = environmentState.displayTraits;\
if (ASDisplayTraitsIsEqualToASDisplayTraits(currentDisplayTraits, oldDisplayTraits) == NO) {\ if (ASEnvironmentDisplayTraitsIsEqualToASEnvironmentDisplayTraits(currentDisplayTraits, oldDisplayTraits) == NO) {\
NSArray<NSArray <ASCellNode *> *> *completedNodes = [self.view.dataController completedNodes];\ NSArray<NSArray <ASCellNode *> *> *completedNodes = [self.view.dataController completedNodes];\
for (NSArray *sectionArray in completedNodes) {\ for (NSArray *sectionArray in completedNodes) {\
for (ASCellNode *cellNode in sectionArray) {\ for (ASCellNode *cellNode in sectionArray) {\

View File

@ -28,7 +28,7 @@ ASEnvironmentHierarchyState _ASEnvironmentHierarchyStateMakeDefault()
extern void ASDisplayTraitsClearDisplayContext(id<ASEnvironment> rootEnvironment) extern void ASDisplayTraitsClearDisplayContext(id<ASEnvironment> rootEnvironment)
{ {
ASEnvironmentState envState = [rootEnvironment environmentState]; ASEnvironmentState envState = [rootEnvironment environmentState];
ASDisplayTraits displayTraits = envState.displayTraits; ASEnvironmentDisplayTraits displayTraits = envState.displayTraits;
displayTraits.displayContext = nil; displayTraits.displayContext = nil;
envState.displayTraits = displayTraits; envState.displayTraits = displayTraits;
[rootEnvironment setEnvironmentState:envState]; [rootEnvironment setEnvironmentState:envState];
@ -38,16 +38,16 @@ extern void ASDisplayTraitsClearDisplayContext(id<ASEnvironment> rootEnvironment
} }
} }
ASDisplayTraits _ASDisplayTraitsMakeDefault() ASEnvironmentDisplayTraits _ASEnvironmentDisplayTraitsMakeDefault()
{ {
return (ASDisplayTraits) { return (ASEnvironmentDisplayTraits) {
// Default values can be defined in here // Default values can be defined in here
}; };
} }
ASDisplayTraits ASDisplayTraitsFromUITraitCollection(UITraitCollection *traitCollection) ASEnvironmentDisplayTraits ASEnvironmentDisplayTraitsFromUITraitCollection(UITraitCollection *traitCollection)
{ {
return (ASDisplayTraits) { return (ASEnvironmentDisplayTraits) {
.displayScale = traitCollection.displayScale, .displayScale = traitCollection.displayScale,
.horizontalSizeClass = traitCollection.horizontalSizeClass, .horizontalSizeClass = traitCollection.horizontalSizeClass,
.userInterfaceIdiom = traitCollection.userInterfaceIdiom, .userInterfaceIdiom = traitCollection.userInterfaceIdiom,
@ -56,7 +56,7 @@ ASDisplayTraits ASDisplayTraitsFromUITraitCollection(UITraitCollection *traitCol
}; };
} }
BOOL ASDisplayTraitsIsEqualToASDisplayTraits(ASDisplayTraits displayTraits0, ASDisplayTraits displayTraits1) BOOL ASEnvironmentDisplayTraitsIsEqualToASEnvironmentDisplayTraits(ASEnvironmentDisplayTraits displayTraits0, ASEnvironmentDisplayTraits displayTraits1)
{ {
return return
displayTraits0.verticalSizeClass == displayTraits1.verticalSizeClass && displayTraits0.verticalSizeClass == displayTraits1.verticalSizeClass &&
@ -71,7 +71,7 @@ ASEnvironmentState ASEnvironmentStateMakeDefault()
return (ASEnvironmentState) { return (ASEnvironmentState) {
.layoutOptionsState = _ASEnvironmentLayoutOptionsStateMakeDefault(), .layoutOptionsState = _ASEnvironmentLayoutOptionsStateMakeDefault(),
.hierarchyState = _ASEnvironmentHierarchyStateMakeDefault(), .hierarchyState = _ASEnvironmentHierarchyStateMakeDefault(),
.displayTraits = _ASDisplayTraitsMakeDefault() .displayTraits = _ASEnvironmentDisplayTraitsMakeDefault()
}; };
} }

View File

@ -80,7 +80,7 @@
id<ASLayoutable> finalLayoutable = [child finalLayoutable]; id<ASLayoutable> finalLayoutable = [child finalLayoutable];
if (finalLayoutable != child) { if (finalLayoutable != child) {
if (ASEnvironmentStateUpwardPropagationEnabled()) { if (ASEnvironmentStatePropagationEnabled()) {
ASEnvironmentStatePropagateUp(finalLayoutable, child.environmentState.layoutOptionsState); ASEnvironmentStatePropagateUp(finalLayoutable, child.environmentState.layoutOptionsState);
} else { } else {
// If state propagation is not enabled the layout options state needs to be copied manually // If state propagation is not enabled the layout options state needs to be copied manually
@ -183,12 +183,12 @@
// the specifications that are known to have more than one. // the specifications that are known to have more than one.
- (BOOL)supportsUpwardPropagation - (BOOL)supportsUpwardPropagation
{ {
return ASEnvironmentStateUpwardPropagationEnabled(); return ASEnvironmentStatePropagationEnabled();
} }
- (BOOL)supportsDownwardPropagation - (BOOL)supportsTraitsCollectionPropagation
{ {
return ASEnvironmentStateDownwardPropagationEnabled(); return ASEnvironmentStateTraitCollectionPropagationEnabled();
} }
- (void)propagateUpLayoutable:(id<ASLayoutable>)layoutable - (void)propagateUpLayoutable:(id<ASLayoutable>)layoutable

View File

@ -79,7 +79,7 @@ extern void ASLayoutableClearCurrentContext();
#define ASEnvironmentLayoutOptionsForwarding \ #define ASEnvironmentLayoutOptionsForwarding \
- (void)propagateUpLayoutOptionsState\ - (void)propagateUpLayoutOptionsState\
{\ {\
if (!ASEnvironmentStateUpwardPropagationEnabled()) {\ if (!ASEnvironmentStatePropagationEnabled()) {\
return;\ return;\
}\ }\
id<ASEnvironment> parent = [self parent];\ id<ASEnvironment> parent = [self parent];\

View File

@ -12,8 +12,8 @@
#pragma once #pragma once
BOOL ASEnvironmentStateUpwardPropagationEnabled(); BOOL ASEnvironmentStatePropagationEnabled();
BOOL ASEnvironmentStateDownwardPropagationEnabled(); BOOL ASEnvironmentStateTraitCollectionPropagationEnabled();
#pragma mark - Set and get extensible values for layout options #pragma mark - Set and get extensible values for layout options
@ -49,8 +49,8 @@ ASEnvironmentState ASEnvironmentMergeObjectAndState(ASEnvironmentState environme
static const struct ASEnvironmentHierarchyState ASEnvironmentDefaultHierarchyState = {}; static const struct ASEnvironmentHierarchyState ASEnvironmentDefaultHierarchyState = {};
ASEnvironmentState ASEnvironmentMergeObjectAndState(ASEnvironmentState environmentState, ASEnvironmentHierarchyState state, ASEnvironmentStatePropagation propagation); ASEnvironmentState ASEnvironmentMergeObjectAndState(ASEnvironmentState environmentState, ASEnvironmentHierarchyState state, ASEnvironmentStatePropagation propagation);
static const struct ASDisplayTraits ASEnvironmentDefaultDisplayTraits = {}; static const struct ASEnvironmentDisplayTraits ASEnvironmentDefaultDisplayTraits = {};
ASEnvironmentState ASEnvironmentMergeObjectAndState(ASEnvironmentState environmentState, ASDisplayTraits state, ASEnvironmentStatePropagation propagation); ASEnvironmentState ASEnvironmentMergeObjectAndState(ASEnvironmentState environmentState, ASEnvironmentDisplayTraits state, ASEnvironmentStatePropagation propagation);
#pragma mark - Propagation #pragma mark - Propagation

View File

@ -15,20 +15,19 @@
//#define LOG(...) NSLog(__VA_ARGS__) //#define LOG(...) NSLog(__VA_ARGS__)
#define LOG(...) #define LOG(...)
#define AS_SUPPORT_UPWARD_PROPAGATION NO #define AS_SUPPORT_PROPAGATION YES
#define AS_SUPPORT_DOWNWARD_PROPAGATION YES #define AS_DOES_NOT_SUPPORT_PROPAGATION NO
BOOL ASEnvironmentStateUpwardPropagationEnabled() BOOL ASEnvironmentStatePropagationEnabled()
{ {
return AS_SUPPORT_UPWARD_PROPAGATION; return AS_DOES_NOT_SUPPORT_PROPAGATION;
} }
BOOL ASEnvironmentStateDownwardPropagationEnabled() BOOL ASEnvironmentStateTraitCollectionPropagationEnabled()
{ {
return AS_SUPPORT_DOWNWARD_PROPAGATION; return AS_SUPPORT_PROPAGATION;
} }
#pragma mark - Traversing an ASEnvironment Tree #pragma mark - Traversing an ASEnvironment Tree
void ASEnvironmentPerformBlockOnObjectAndChildren(id<ASEnvironment> object, void(^block)(id<ASEnvironment> node)) void ASEnvironmentPerformBlockOnObjectAndChildren(id<ASEnvironment> object, void(^block)(id<ASEnvironment> node))
@ -120,7 +119,7 @@ ASEnvironmentState ASEnvironmentMergeObjectAndState(ASEnvironmentState environme
// Merge object and layout options state // Merge object and layout options state
LOG(@"Merge object and state: %@ - ASEnvironmentLayoutOptionsState", layoutOptionsState); LOG(@"Merge object and state: %@ - ASEnvironmentLayoutOptionsState", layoutOptionsState);
if (!ASEnvironmentStateUpwardPropagationEnabled() && propagation == ASEnvironmentStatePropagation::UP) { if (!ASEnvironmentStatePropagationEnabled() && propagation == ASEnvironmentStatePropagation::UP) {
return environmentState; return environmentState;
} }
@ -195,14 +194,14 @@ ASEnvironmentState ASEnvironmentMergeObjectAndState(ASEnvironmentState environme
return environmentState; return environmentState;
} }
ASEnvironmentState ASEnvironmentMergeObjectAndState(ASEnvironmentState childEnvironmentState, ASDisplayTraits parentDisplayTraits, ASEnvironmentStatePropagation propagation) { ASEnvironmentState ASEnvironmentMergeObjectAndState(ASEnvironmentState childEnvironmentState, ASEnvironmentDisplayTraits parentDisplayTraits, ASEnvironmentStatePropagation propagation) {
if (propagation == ASEnvironmentStatePropagation::DOWN && !ASEnvironmentStateDownwardPropagationEnabled()) { if (propagation == ASEnvironmentStatePropagation::DOWN && !ASEnvironmentStateTraitCollectionPropagationEnabled()) {
return childEnvironmentState; return childEnvironmentState;
} }
// Support propagate down // Support propagate down
if (propagation == ASEnvironmentStatePropagation::DOWN) { if (propagation == ASEnvironmentStatePropagation::DOWN) {
ASDisplayTraits childDisplayTraits = childEnvironmentState.displayTraits; ASEnvironmentDisplayTraits childDisplayTraits = childEnvironmentState.displayTraits;
childDisplayTraits.horizontalSizeClass = parentDisplayTraits.horizontalSizeClass; childDisplayTraits.horizontalSizeClass = parentDisplayTraits.horizontalSizeClass;
childDisplayTraits.verticalSizeClass = parentDisplayTraits.verticalSizeClass; childDisplayTraits.verticalSizeClass = parentDisplayTraits.verticalSizeClass;
childDisplayTraits.userInterfaceIdiom = parentDisplayTraits.userInterfaceIdiom; childDisplayTraits.userInterfaceIdiom = parentDisplayTraits.userInterfaceIdiom;

View File

@ -61,7 +61,7 @@
- (ASSizeRange)collectionView:(ASCollectionView *)collectionView constrainedSizeForNodeAtIndexPath:(NSIndexPath *)indexPath - (ASSizeRange)collectionView:(ASCollectionView *)collectionView constrainedSizeForNodeAtIndexPath:(NSIndexPath *)indexPath
{ {
ASDisplayTraits displayTraits = self.collectionNode.environmentState.displayTraits; ASEnvironmentDisplayTraits displayTraits = self.collectionNode.environmentState.displayTraits;
if (displayTraits.horizontalSizeClass == UIUserInterfaceSizeClassRegular) { if (displayTraits.horizontalSizeClass == UIUserInterfaceSizeClassRegular) {
return ASSizeRangeMake(CGSizeMake(200, 120), CGSizeMake(200, 120)); return ASSizeRangeMake(CGSizeMake(200, 120), CGSizeMake(200, 120));

View File

@ -129,7 +129,7 @@ static const CGFloat kInnerPadding = 10.0f;
- (ASLayoutSpec *)layoutSpecThatFits:(ASSizeRange)constrainedSize - (ASLayoutSpec *)layoutSpecThatFits:(ASSizeRange)constrainedSize
{ {
ASDisplayTraits displayTraits = self.environmentState.displayTraits; ASEnvironmentDisplayTraits displayTraits = self.environmentState.displayTraits;
ASStackLayoutSpec *stackSpec = [[ASStackLayoutSpec alloc] init]; ASStackLayoutSpec *stackSpec = [[ASStackLayoutSpec alloc] init];
stackSpec.spacing = kInnerPadding; stackSpec.spacing = kInnerPadding;
@ -152,7 +152,7 @@ static const CGFloat kInnerPadding = 10.0f;
OverrideViewController *overrideVC = [[OverrideViewController alloc] init]; OverrideViewController *overrideVC = [[OverrideViewController alloc] init];
overrideVC.overrideDisplayTraitsWithTraitCollection = ^(UITraitCollection *traitCollection) { overrideVC.overrideDisplayTraitsWithTraitCollection = ^(UITraitCollection *traitCollection) {
return (ASDisplayTraits) { return (ASEnvironmentDisplayTraits) {
.displayScale = traitCollection.displayScale, .displayScale = traitCollection.displayScale,
.horizontalSizeClass = UIUserInterfaceSizeClassCompact, .horizontalSizeClass = UIUserInterfaceSizeClassCompact,
.userInterfaceIdiom = traitCollection.userInterfaceIdiom, .userInterfaceIdiom = traitCollection.userInterfaceIdiom,

View File

@ -42,7 +42,7 @@ static NSString *kLinkAttributeName = @"PlaceKittenNodeLinkAttributeName";
- (ASLayoutSpec *)layoutSpecThatFits:(ASSizeRange)constrainedSize - (ASLayoutSpec *)layoutSpecThatFits:(ASSizeRange)constrainedSize
{ {
CGFloat pointSize = 16.f; CGFloat pointSize = 16.f;
ASDisplayTraits displayTraits = self.environmentState.displayTraits; ASEnvironmentDisplayTraits displayTraits = self.environmentState.displayTraits;
if (displayTraits.horizontalSizeClass == UIUserInterfaceSizeClassRegular) { if (displayTraits.horizontalSizeClass == UIUserInterfaceSizeClassRegular) {
// This should never happen because we override the VC's display traits to always be compact. // This should never happen because we override the VC's display traits to always be compact.
pointSize = 100; pointSize = 100;