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
  • 相关阅读:
    20 个 .NET 6 新增的 API
    巅峰对决!Spring Boot VS .NET 6
    【.NET 遇上 GraphQL】 ChilliCream 平台介绍
    使用 CliWrap 让C#中的命令行交互举重若轻
    微软开源的Web测试和自动化神器 Playwright
    GraphQL 到底有什么魔力?
    win切换jdk版本
    WebBug Java漏洞靶场 Java代码审计
    Docker镜像安全的一些(初级)检测方法
    权限安全管控的设计想法
  • 原文地址:https://www.cnblogs.com/Fredric-2013/p/5936477.html
Copyright © 2011-2022 走看看