欢迎光临
我们一直在努力

高仿图书的翻页效果,可以实现单、双面翻页间的切换效果

建站超值云服务器,限时71元/月

高仿图书的翻页效果,可以实现单、双面翻页间的切换效果

项目介绍:

单双面切换动画效果图

单双面切换动画效果图

单双面切换动画效果图

单面翻页效果图

单面翻页效果图

单面翻页效果图

双面翻页效果图1

双面翻页效果图1

双面翻页效果图1

双面翻页效果图2

双面翻页效果图2

双面翻页效果图2

双面翻页效果图3

双面翻页效果图3

双面翻页效果图3

[Objective-C] 查看源文件 复制代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(setupDoubleAndSingleFace:) name:@"doubleAndSingleFace" object:nil];
        
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    
    // 创建XGPageViewController控制器
    XGPageViewController *page = [[XGPageViewController alloc]
                                  initWithPageNumber:0];
    // 创建一个NSDictionary对象,作为创建UIPageViewController的选项。
    // 此处只支持2个key:
    // UIPageViewControllerOptionSpineLocationKey:指定翻页效果中书棱的位置
    // UIPageViewControllerOptionInterPageSpacingKey:指定2个页面之间间距
    NSDictionary* options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:1],UIPageViewControllerOptionSpineLocationKey, [NSNumber numberWithFloat:0], UIPageViewControllerOptionInterPageSpacingKey, nil];
    // 创建UIPageViewController
    UIPageViewController *pageVC =
    [[UIPageViewController alloc]
     // 设置页面过度效果(过度的效果有两种:一种是卷动的效果,一种是平移的效果):此处使用书页卷动的翻页效果
     initWithTransitionStyle:0
     // 设置页面的翻页方向(翻页的方向有两种:一种是垂直的效果,一种是水平的效果):此处使用水平翻页
     navigationOrientation:0 options:options];
    self.pageVC = pageVC;

    // 设置数据源代理
    pageVC.dataSource = self;
    // 设置pageVC管理的控制器
         // 指定向前翻页: UIPageViewControllerNavigationDirectionForward
    [pageVC setViewControllers:@direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:nil];
    // 设置程序窗口的根控制器为pageViewController
    self.window.rootViewController = pageVC;
    [self.window makeKeyAndVisible];
    return YES;
}
#pragma mark - 当pageVC向前翻页时调用该方法
- (XGPageViewController *)pageViewController:(UIPageViewController *)pvc
      viewControllerBeforeViewController:(XGPageViewController *)vc{
    // 如果当前pageIndex大于0,将pageIndex-1作为参数创建XGPageViewController
    NSUInteger index = vc.pageIndex;
    if (vc.pageIndex > 0)
    {
        return [[XGPageViewController alloc] initWithPageNumber:index - 1];
    }
    else{
        return [[XGPageViewController alloc] initWithPageNumber:index];
    }
}

#pragma mark - 当pageVC向后翻页时调用该方法
- (XGPageViewController *)pageViewController:(UIPageViewController *)pvc
       viewControllerAfterViewController:(XGPageViewController *)vc{
    // 将pageIndex-1作为参数创建XGPageViewController
    NSUInteger index = vc.pageIndex;
//    if (index >= 9) {
//        return nil;
//    }else{
    
        return [[XGPageViewController alloc] initWithPageNumber:index + 1];
//    }
}

#pragma mark - 接到通知后执行的方法
-(void)setupDoubleAndSingleFace:(NSNotification *)notify{
   
    NSString *str = notify.userInfo[@"btn"];
    if ([str isEqualToString:@"双面效果"]){
        self.pageVC.doubleSided = YES;
    }else{
        self.pageVC.doubleSided = NO;
    }
    
}

#pragma mark - 移除通知
-(void)dealloc{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

DEMO 直接下载:



翻书效果.zip
(2.06 MB, 下载次数: 698)

2016-7-26 13:05 上传
点击文件名下载附件

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 高仿图书的翻页效果,可以实现单、双面翻页间的切换效果
分享到: 更多 (0)