Skip to content
This repository was archived by the owner on Feb 2, 2023. It is now read-only.

Commit 322caae

Browse files
committed
wip after review
1 parent 6cbc51d commit 322caae

6 files changed

Lines changed: 39 additions & 97 deletions

File tree

AsyncDisplayKit/ASCellNode.h

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -93,17 +93,6 @@ typedef NSUInteger ASCellNodeAnimation;
9393
*/
9494
- (void)setNeedsLayout;
9595

96-
/**
97-
* @abstract Initializes a cell with a given viewControllerBlock.
98-
*
99-
* @param viewControllerBlock The block that will be used to create the view controller whose root view will be used to create the backing view.
100-
*
101-
* @return An ASCellNode created using the root view of the view controller provided by the viewControllerBlock.
102-
* The view controller's root view is resized to match the calcuated size produced during layout.
103-
*
104-
*/
105-
- (instancetype)initWithViewControllerBlock:(ASDisplayNodeViewControllerBlock)viewControllerBlock;
106-
10796
/**
10897
* @abstract Initializes a cell with a given viewControllerBlock.
10998
*

AsyncDisplayKit/ASCellNode.m

Lines changed: 35 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@
1818
#pragma mark -
1919
#pragma mark ASCellNode
2020

21-
@interface ASCellNode (){
21+
@interface ASCellNode ()
22+
{
2223
ASDisplayNodeDidLoadBlock _nodeLoadedBlock;
23-
ASDisplayNode *_viewControllerNode;
2424
UIViewController *_viewController;
25+
ASDisplayNode *_viewControllerNode;
2526
}
2627

2728
@end
@@ -40,33 +41,47 @@ - (instancetype)init
4041
return self;
4142
}
4243

43-
- (instancetype)initWithViewControllerBlock:(ASDisplayNodeViewControllerBlock)viewControllerBlock
44-
{
45-
return [self initWithViewControllerBlock:viewControllerBlock didLoadBlock:nil];
46-
}
47-
4844
- (instancetype)initWithViewControllerBlock:(ASDisplayNodeViewControllerBlock)viewControllerBlock didLoadBlock:(ASDisplayNodeDidLoadBlock)didLoadBlock
4945
{
5046
if (!(self = [super init]))
5147
return nil;
5248

5349
ASDisplayNodeAssertNotNil(viewControllerBlock, @"should initialize with a valid block that returns a UIViewController");
5450

55-
_viewController = viewControllerBlock();
56-
57-
_viewControllerNode = [[ASDisplayNode alloc] initWithViewBlock:^UIView *{
58-
return _viewController.view;
59-
} didLoadBlock:didLoadBlock];
60-
61-
[self addSubnode:_viewControllerNode];
51+
if (viewControllerBlock) {
52+
_viewController = viewControllerBlock();
53+
54+
__weak UIViewController *weakViewController = _viewController;
55+
_viewControllerNode = [[ASDisplayNode alloc] initWithViewBlock:^UIView *{
56+
return weakViewController.view;
57+
} didLoadBlock:didLoadBlock];
58+
59+
[self addSubnode:_viewControllerNode];
60+
_nodeLoadedBlock = didLoadBlock;
61+
}
6262

63-
_nodeLoadedBlock = didLoadBlock;
6463
return self;
6564
}
6665

67-
- (ASLayoutSpec *)layoutSpecThatFits:(ASSizeRange)constrainedSize {
68-
_viewControllerNode.frame = (CGRect){{0,0}, constrainedSize.max};
69-
return [super layoutSpecThatFits:constrainedSize];
66+
//- (ASLayoutSpec *)layoutSpecThatFits:(ASSizeRange)constrainedSize
67+
//{
68+
// _viewControllerNode.frame = (CGRect){{0,0}, constrainedSize.max};
69+
// NSLog(@"%f %f", constrainedSize.max.width, constrainedSize.max.height);
70+
// return [super layoutSpecThatFits:constrainedSize];
71+
//}
72+
73+
- (void)layout
74+
{
75+
[super layout];
76+
77+
_viewControllerNode.frame = self.bounds;
78+
}
79+
80+
- (void)layoutDidFinish
81+
{
82+
[super layoutDidFinish];
83+
84+
_viewControllerNode.frame = self.bounds;
7085
}
7186

7287
- (instancetype)initWithLayerBlock:(ASDisplayNodeLayerBlock)viewBlock didLoadBlock:(ASDisplayNodeDidLoadBlock)didLoadBlock
@@ -135,7 +150,8 @@ - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
135150
#pragma mark -
136151
#pragma mark ASTextCellNode
137152

138-
@interface ASTextCellNode () {
153+
@interface ASTextCellNode ()
154+
{
139155
NSString *_text;
140156
ASTextNode *_textNode;
141157
}

examples/CollectionViewWithViewControllerCells/Sample.xcodeproj/project.pbxproj

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
/* Begin PBXBuildFile section */
1010
25A1FA851C02F7AC00193875 /* MosaicCollectionViewLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 25A1FA841C02F7AC00193875 /* MosaicCollectionViewLayout.m */; };
11-
25A1FA881C02FCB000193875 /* ImageCellNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 25A1FA871C02FCB000193875 /* ImageCellNode.m */; };
1211
9B92C8811BC17D3000EE46B2 /* SupplementaryNode.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B92C8801BC17D3000EE46B2 /* SupplementaryNode.m */; };
1312
9BA2CEA11BB2579C00D18414 /* Launchboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9BA2CEA01BB2579C00D18414 /* Launchboard.storyboard */; };
1413
AC3C4A641A11F47200143C57 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = AC3C4A631A11F47200143C57 /* main.m */; };
@@ -22,8 +21,6 @@
2221
/* Begin PBXFileReference section */
2322
25A1FA831C02F7AC00193875 /* MosaicCollectionViewLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MosaicCollectionViewLayout.h; sourceTree = "<group>"; };
2423
25A1FA841C02F7AC00193875 /* MosaicCollectionViewLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MosaicCollectionViewLayout.m; sourceTree = "<group>"; };
25-
25A1FA861C02FCB000193875 /* ImageCellNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageCellNode.h; sourceTree = "<group>"; };
26-
25A1FA871C02FCB000193875 /* ImageCellNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ImageCellNode.m; sourceTree = "<group>"; };
2724
2DBAEE96397BB913350C4530 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = "<group>"; };
2825
9B92C87F1BC17D3000EE46B2 /* SupplementaryNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SupplementaryNode.h; sourceTree = "<group>"; };
2926
9B92C8801BC17D3000EE46B2 /* SupplementaryNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SupplementaryNode.m; sourceTree = "<group>"; };
@@ -90,8 +87,6 @@
9087
AC3C4A661A11F47200143C57 /* AppDelegate.m */,
9188
AC3C4A681A11F47200143C57 /* ViewController.h */,
9289
AC3C4A691A11F47200143C57 /* ViewController.m */,
93-
25A1FA861C02FCB000193875 /* ImageCellNode.h */,
94-
25A1FA871C02FCB000193875 /* ImageCellNode.m */,
9590
AC3C4A8D1A11F80C00143C57 /* Images.xcassets */,
9691
AC3C4A611A11F47200143C57 /* Supporting Files */,
9792
9B92C87F1BC17D3000EE46B2 /* SupplementaryNode.h */,
@@ -249,7 +244,6 @@
249244
AC3C4A671A11F47200143C57 /* AppDelegate.m in Sources */,
250245
AC3C4A641A11F47200143C57 /* main.m in Sources */,
251246
AEE6B3E51C16B65600238D20 /* ImageViewController.m in Sources */,
252-
25A1FA881C02FCB000193875 /* ImageCellNode.m in Sources */,
253247
);
254248
runOnlyForDeploymentPostprocessing = 0;
255249
};

examples/CollectionViewWithViewControllerCells/Sample/ImageCellNode.h

Lines changed: 0 additions & 15 deletions
This file was deleted.

examples/CollectionViewWithViewControllerCells/Sample/ImageCellNode.m

Lines changed: 0 additions & 45 deletions
This file was deleted.

examples/CollectionViewWithViewControllerCells/Sample/ViewController.m

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,10 @@ - (ASCellNode *)collectionView:(ASCollectionView *)collectionView nodeForItemAtI
9494
{
9595
ASCellNode *node = [[ASCellNode alloc] initWithViewControllerBlock:^UIViewController *{
9696
return [[ImageViewController alloc] initWithImage:_sections[indexPath.section][indexPath.item]];
97-
}];
97+
} didLoadBlock:nil];
98+
99+
node.layer.borderWidth = 1.0;
100+
node.layer.borderColor = [UIColor blackColor].CGColor;
98101

99102
return node;
100103
}

0 commit comments

Comments
 (0)