导航视图(二)

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
时间: 2024-10-12 12:26:29

导航视图(二)的相关文章

UI 07 _ 导航视图控制器 与 属性传值

首先, 先创建三个VC. 完成点击按钮, 进入下一页, 并能够返回. 要先把导航视图控制器创建出来. 在AppDelegate.m 文件中代码如下: #import "AppDelegate.h" #import "MainViewController.h" @interface AppDelegate () @end @implementation AppDelegate - (void)dealloc{ [_window release]; [super dea

ASP.NETMVC 视图(二)

ASP.NETMVC 视图(二) 前言 上篇中对于视图引擎只是做了简单的演示,对于真正的理解视图引擎的工作过程可能还有点模糊,本篇将会对由MVC框架提供给我们的Razor视图引擎的整个执行过程做一个粗略的讲解,目的在于让大家对Razor视图引擎的执行过程留个印象以便联想的思考到视图引擎的作用以及视图在MVC框架中的表示. ASP.NETMVC 视图 l  自定义视图引擎 l Razor视图引擎执行过程 l  Razor视图的依赖注入.自定义视图辅助器 l  分段.分部视图的使用 l Razor语

导航视图控制器(总结)

导航视图控制器 : UINavigationController 继承于 UIViewController 注意:导航控制器高度是44,上面的状态栏高度是20,加在一起默认是64 效果图: 1.创建导航视图控制器 原代码: 在这之前要先建一个MainViewController的类 把MainViewController引入appDelegate.m的头文件 在appDelegate.m文件上创建导航视图控制器 // 先创建一个ViewController MainViewController

ASP.NET MVC 视图(二)

ASP.NET MVC 视图(二) 前言 上篇中对于视图引擎只是做了简单的演示,对于真正的理解视图引擎的工作过程可能还有点模糊,本篇将会对由MVC框架提供给我们的Razor视图引擎的整个执行过程做一个粗略的讲解,目的在于让大家对Razor视图引擎的执行过程留个印象以便联想的思考到视图引擎的作用以及视图在MVC框架中的表示. ASP.NET MVC 视图 自定义视图引擎 Razor视图引擎执行过程 Razor视图的依赖注入.自定义视图辅助器 分段.分部视图的使用 Razor语法.视图辅助器 Raz

iOS UI07_导航视图控制器

// // MainViewController.m // UI07_导航视图控制器 // // Created by dllo on 15/8/6. // Copyright (c) 2015年 zhozhicheng. All rights reserved. // #import "MainViewController.h" #import "SecondViewController.h" @interface MainViewController () @p

导航视图(四)

导航视图 1.创建导航视图根视图: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]]; ViewController* viewController = [[ViewCont

xcode6如何新建一个空项目+添加导航视图控制器

欢迎转载,请注明出处. 解说:使用xcode6的Empty项目模板创建出的项目啥都没有,及不方便.本编就先教大家如何创建一个包含有Target以及Appdelegate等目录的空项目以及添加导航视图控制器. 步骤1:打开xcode6,然后File - > New ->Project,打开后选择Single View Application模板,点击Next,输入项目名称,点击Next,选择保存位置,点击Create. 步骤2:选中项目名称,在配置栏中选择Info栏目,在Custom iOS T

拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar..)

转载 请注明 明桑Android Android 5.0 Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言.看起来很受欢迎,可它的普及似乎不那么顺利,刚过去不久的Google I/O 2015都已经推出了新的Android M预览版.即使是这样,原生版本的Android推广似乎一直没取得google预期的结果-不管怎样,作为开发者我们关心的无非是这个平台是否好用,能否开发出精致而又有趣的应用.好在Material Design我认为是成功的,官方在And

学习OpenSeadragon之四(导航视图)

OpenSeadragon介绍以及上手:学习OpenSeadragon之一 OpenSeadragon主要用于地图.医学图像等需要放大缩小分层显示的图像显示. 1.简单例子 导航视图就是在一个小框中显示整个地图的全貌,点击小框中的相应位置,整个图片显示的焦点就能定位到点击的相应位置,就像魔兽争霸.dota里的小地图那样,如下图右上角. OpenSeadragon已经为我们提供了方便调用的navigation接口,只需要在创建OpenSeadragon对象时声明: showNavigator: t

Eclipse rcp 开发 : 自定义导航视图CNF(3)为导航视图增加隐藏文件功能

org.eclipse.ui.navigator.navigatorContent 右键新增commonFilter id:  唯一 name :名称 如:*.xml resources description:描述, 如:Hides *.xml resources 在该属性下载增加属性:其中的value为通配xml  <filterExpression>             <and>                <adapt