1010 */
1111
1212#import < AsyncDisplayKit/AsyncDisplayKit.h>
13- #import < AsyncDisplayKit/ASAssert.h>
14-
1513#import " ViewController.h"
1614#import " GradientTableNode.h"
1715
18- @interface ViewController () <ASCollectionViewDataSource, ASCollectionViewDelegate >
16+ @interface ViewController () <ASPagerNodeDataSource >
1917{
20- ASCollectionView *_pagerView ;
18+ ASPagerNode *_pagerNode ;
2119}
2220
2321@end
@@ -31,23 +29,12 @@ - (instancetype)init
3129{
3230 if (!(self = [super init ]))
3331 return nil ;
34-
35- UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc ] init ];
36- flowLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
37- // flowLayout.itemSize = [[UIScreen mainScreen] bounds].size;
38- flowLayout.minimumInteritemSpacing = 0 ;
39- flowLayout.minimumLineSpacing = 0 ;
40-
41- _pagerView = [[ASCollectionView alloc ] initWithCollectionViewLayout: flowLayout];
4232
43- ASRangeTuningParameters rangeTuningParameters;
44- rangeTuningParameters.leadingBufferScreenfuls = 1.0 ;
45- rangeTuningParameters.trailingBufferScreenfuls = 1.0 ;
46- [_pagerView setTuningParameters: rangeTuningParameters forRangeType: ASLayoutRangeTypeRender];
33+ _pagerNode = [[ASPagerNode alloc ] init ];
34+ _pagerNode.dataSource = self;
4735
48- _pagerView.pagingEnabled = YES ;
49- _pagerView.asyncDataSource = self;
50- _pagerView.asyncDelegate = self;
36+ // Could implement ASCollectionDelegate if we wanted extra callbacks, like from UIScrollView.
37+ // _pagerNode.delegate = self;
5138
5239 self.title = @" Paging Table Nodes" ;
5340 self.navigationItem .rightBarButtonItem = [[UIBarButtonItem alloc ] initWithBarButtonSystemItem: UIBarButtonSystemItemRedo
@@ -59,20 +46,19 @@ - (instancetype)init
5946
6047- (void )reloadEverything
6148{
62- [_pagerView reloadData ];
49+ [_pagerNode reloadData ];
6350}
6451
6552- (void )viewDidLoad
6653{
6754 [super viewDidLoad ];
6855
69- [self .view addSubview: _pagerView ];
56+ [self .view addSubnode: _pagerNode ];
7057}
7158
7259- (void )viewWillLayoutSubviews
7360{
74- _pagerView.frame = self.view .bounds ;
75- _pagerView.contentInset = UIEdgeInsetsZero;
61+ _pagerNode.frame = self.view .bounds ;
7662}
7763
7864- (BOOL )prefersStatusBarHidden
@@ -81,20 +67,20 @@ - (BOOL)prefersStatusBarHidden
8167}
8268
8369#pragma mark -
84- #pragma mark ASTableView .
70+ #pragma mark ASPagerNode .
8571
86- - (ASCellNode *)collectionView : (ASCollectionView *)collectionView nodeForItemAtIndexPath : ( NSIndexPath *) indexPath ;
72+ - (ASCellNode *)pagerNode : (ASPagerNode *)pagerNode nodeAtIndex : ( NSInteger ) index ;
8773{
88- CGSize boundsSize = collectionView .bounds .size ;
74+ CGSize boundsSize = pagerNode .bounds .size ;
8975 CGSize gradientRowSize = CGSizeMake (boundsSize.width , 100 );
9076 GradientTableNode *node = [[GradientTableNode alloc ] initWithElementSize: gradientRowSize];
9177 node.preferredFrameSize = boundsSize;
9278 return node;
9379}
9480
95- - (NSInteger )collectionView : (UICollectionView *)collectionView numberOfItemsInSection : ( NSInteger ) section
81+ - (NSInteger )numberOfPagesInPagerNode : (ASPagerNode *)pagerNode
9682{
97- return (section == 0 ? 10 : 0 ) ;
83+ return 10 ;
9884}
9985
10086@end
0 commit comments