changed DisplayTraits to TraitCollection

This commit is contained in:
rcancro
2016-05-05 14:01:19 -07:00
parent 51f79f3c6e
commit 9d622c7eac
35 changed files with 160 additions and 138 deletions

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Sample.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -11,7 +11,7 @@
#import "CollectionViewController.h"
#import "KittenNode.h"
#import <AsyncDisplayKit/ASDisplayTraits.h>
#import <AsyncDisplayKit/ASTraitCollection.h>
@interface CollectionViewController () <ASCollectionDelegate, ASCollectionDataSource>
@property (nonatomic, strong) ASCollectionNode *collectionNode;
@@ -62,9 +62,9 @@
- (ASSizeRange)collectionView:(ASCollectionView *)collectionView constrainedSizeForNodeAtIndexPath:(NSIndexPath *)indexPath
{
ASDisplayTraits *displayTraits = [self.collectionNode displayTraits];
ASTraitCollection *traitCollection = [self.collectionNode asyncTraitCollection];
if (displayTraits.horizontalSizeClass == UIUserInterfaceSizeClassRegular) {
if (traitCollection.horizontalSizeClass == UIUserInterfaceSizeClassRegular) {
return ASSizeRangeMake(CGSizeMake(200, 120), CGSizeMake(200, 120));
}
return ASSizeRangeMake(CGSizeMake(132, 180), CGSizeMake(132, 180));

View File

@@ -12,7 +12,7 @@
#import "KittenNode.h"
#import "OverrideViewController.h"
#import <AsyncDisplayKit/ASDisplayTraits.h>
#import <AsyncDisplayKit/ASTraitCollection.h>
static const CGFloat kOuterPadding = 16.0f;
static const CGFloat kInnerPadding = 10.0f;
@@ -130,13 +130,13 @@ static const CGFloat kInnerPadding = 10.0f;
- (ASLayoutSpec *)layoutSpecThatFits:(ASSizeRange)constrainedSize
{
ASDisplayTraits *displayTraits = [self displayTraits];
ASTraitCollection *traitCollection = [self asyncTraitCollection];
ASStackLayoutSpec *stackSpec = [[ASStackLayoutSpec alloc] init];
stackSpec.spacing = kInnerPadding;
stackSpec.children = @[_imageNode, _textNode];
if (displayTraits.horizontalSizeClass == UIUserInterfaceSizeClassRegular) {
if (traitCollection.horizontalSizeClass == UIUserInterfaceSizeClassRegular) {
_imageNode.alignSelf = ASStackLayoutAlignSelfStart;
stackSpec.direction = ASStackLayoutDirectionHorizontal;
} else {
@@ -152,10 +152,10 @@ static const CGFloat kInnerPadding = 10.0f;
OverrideViewController *overrideVC = [[OverrideViewController alloc] init];
overrideVC.overrideDisplayTraitsWithTraitCollection = ^(UITraitCollection *traitCollection) {
ASDisplayTraits *displayTraits = [ASDisplayTraits displayTraitsWithUITraitCollection:traitCollection];
displayTraits.horizontalSizeClass = UIUserInterfaceSizeClassCompact;
displayTraits.verticalSizeClass = UIUserInterfaceSizeClassCompact;
return displayTraits;
ASTraitCollection *asyncTraitCollection = [ASTraitCollection displayTraitsWithUITraitCollection:traitCollection];
asyncTraitCollection.horizontalSizeClass = UIUserInterfaceSizeClassCompact;
asyncTraitCollection.verticalSizeClass = UIUserInterfaceSizeClassCompact;
return asyncTraitCollection;
};
[sourceViewController presentViewController:overrideVC animated:YES completion:nil];

View File

@@ -10,7 +10,7 @@
*/
#import "OverrideViewController.h"
#import <AsyncDisplayKit/ASDisplayTraits.h>
#import <AsyncDisplayKit/ASTraitCollection.h>
static NSString *kLinkAttributeName = @"PlaceKittenNodeLinkAttributeName";
@@ -44,8 +44,8 @@ static NSString *kLinkAttributeName = @"PlaceKittenNodeLinkAttributeName";
- (ASLayoutSpec *)layoutSpecThatFits:(ASSizeRange)constrainedSize
{
CGFloat pointSize = 16.f;
ASDisplayTraits *displayTraits = [self displayTraits];
if (displayTraits.horizontalSizeClass == UIUserInterfaceSizeClassRegular) {
ASTraitCollection *traitCollection = [self asyncTraitCollection];
if (traitCollection.horizontalSizeClass == UIUserInterfaceSizeClassRegular) {
// This should never happen because we override the VC's display traits to always be compact.
pointSize = 100;
}