/* This file provided by Facebook is for non-commercial testing and evaluation * purposes only. Facebook reserves all rights not expressly granted. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #import "ViewController.h" #import #import "PageNode.h" static UIColor *randomColor() { CGFloat hue = ( arc4random() % 256 / 256.0 ); // 0.0 to 1.0 CGFloat saturation = ( arc4random() % 128 / 256.0 ) + 0.5; // 0.5 to 1.0, away from white CGFloat brightness = ( arc4random() % 128 / 256.0 ) + 0.5; // 0.5 to 1.0, away from black return [UIColor colorWithHue:hue saturation:saturation brightness:brightness alpha:1]; } @interface ViewController () @end @implementation ViewController - (instancetype)init { self = [super initWithNode:[[ASPagerNode alloc] init]]; if (self == nil) { return self; } self.title = @"Pages"; self.node.dataSource = self; self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Next" style:UIBarButtonItemStylePlain target:self action:@selector(scrollToNextPage:)]; self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Previous" style:UIBarButtonItemStylePlain target:self action:@selector(scrollToPreviousPage:)]; return self; } #pragma mark - Actions - (void)scrollToNextPage:(id)sender { [self.node scrollToPageAtIndex:self.node.currentPageIndex+1 animated:YES]; } - (void)scrollToPreviousPage:(id)sender { [self.node scrollToPageAtIndex:self.node.currentPageIndex-1 animated:YES]; } #pragma mark - ASPagerNodeDataSource - (NSInteger)numberOfPagesInPagerNode:(ASPagerNode *)pagerNode { return 5; } - (ASCellNodeBlock)pagerNode:(ASPagerNode *)pagerNode nodeBlockAtIndex:(NSInteger)index { return ^{ PageNode *page = [[PageNode alloc] init]; page.backgroundColor = randomColor(); return page; }; } @end