zoukankan      html  css  js  c++  java
  • 导航视图(二)

    UIPageViewController 分屏效果笔记,参考IOS开发指南。

    #import <UIKit/UIKit.h>
    
    @interface ViewController : UIViewController<UIPageViewControllerDataSource, UIPageViewControllerDelegate>
    {
        int pageIndex;
    }
    
    @property(strong, nonatomic) UIPageViewController *pageViewController;
    
    
    @end
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        self.view.frame = CGRectMake(0.0f, 0.0f, 300.0f, 400.0f);
        
        //  UIPageViewControllerTransitionStylePageCurl     翻书效果
        //  UIPageViewControllerTransitionStyleScroll       滑屏效果
        
        //  UIPageViewControllerNavigationOrientationHorizontal 水平方向
        //  UIPageViewControllerNavigationOrientationVertical   垂直方向
        self.pageViewController = [[UIPageViewController alloc]
                                   initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil];
        
        self.pageViewController.dataSource = self;
        self.pageViewController.delegate   = self;
        
        UIStoryboard *mainBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
        UIViewController *page0 = [mainBoard instantiateViewControllerWithIdentifier:@"page1"];
        
        NSArray *viewArray = @[page0];
        
        
        [self.pageViewController setViewControllers:viewArray direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:NULL];
        
        [self.view addSubview:self.pageViewController.view];
        
        pageIndex = 1;
        
    }
    
    -(UIViewController*)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
    {
        pageIndex++;
        
        if(pageIndex > 2){
            pageIndex = 2;
            return nil;
        }
        
        UIStoryboard *mainBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
        NSString *Id = [NSString stringWithFormat:@"page%i", pageIndex];
        
        NSLog(@"%@", Id);
        
        UIViewController *page = [mainBoard instantiateViewControllerWithIdentifier:Id];
        
        return page;
    }
    
    -(UIViewController*)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
    {
        pageIndex--;
        
        if(pageIndex < 0){
            pageIndex = 0;
            return nil;
        }
        
        UIStoryboard *mainBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
        NSString *Id = [NSString stringWithFormat:@"page%i", pageIndex];
        
        NSLog(@"%@", Id);
        
        UIViewController *page = [mainBoard instantiateViewControllerWithIdentifier:Id];
        
        return page;
    }
    
    
    @end
  • 相关阅读:
    包建强的培训课程(6):Android App瘦身优化
    包建强的培训课程(14):Android与ReactNative
    包建强的培训课程(13):iOS与ReactNative
    包建强的培训课程(12):iOS深入学习(内存管理、Block和GCD等)
    包建强的培训课程(11):iOS Runtime实战
    Neo4j 第九篇:查询数据(Match)
    Neo4j 第八篇:投射和过滤
    Neo4j 第七篇:模式(Pattern)
    Neo4j 第六篇:Cypher语法
    Python 学习 第14篇:数据类型(元组和集合)
  • 原文地址:https://www.cnblogs.com/Fredric-2013/p/5936477.html
Copyright © 2011-2022 走看看