设为首页 加入收藏

TOP

Learn how to Use UIPageViewController in iOS(二)
2017-10-13 10:29:09 】 浏览:2743
Tags:Learn how Use UIPageViewController iOS
4
return nil; 25 } 26 return [self viewControllerAtIndex:index]; 27 }

 

 

补充:上面的viewControllerAtIndex方法是私有创建控制器的方法

 1 // hy:自定义声明创建子控制器的方法
 2 - (PageContentViewController *)viewControllerAtIndex:(NSUInteger)index
 3 {
 4     if (([self.arrPageTitles count] == 0) || (index >= [self.arrPageTitles count])) {
 5         return nil;
 6     }
 7     // Create a new view controller and pass suitable data.
 8     PageContentViewController *pageContentViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"PageContentViewController"];
 9     pageContentViewController.imgFile = self.arrPageImages[index];
10     pageContentViewController.txtTitle = self.arrPageTitles[index];
11     pageContentViewController.pageIndex = index;
12     return pageContentViewController;
13 }
 

5、UIPageController的子View:ScorllView的偏移量注意点

1 -(void)scrollViewDidScroll:(UIScrollView *)scrollView {
2     NSLog(@"偏移量--%lf",scrollView.contentOffset.x);
3 }

根据在ScollView的代理方法中,不断打印scrollView的偏移量,我们可以查看到,每次最后停止的时候,偏移量都会恢复一个值,这个值就是当前手机屏幕宽度。比如iPhone6的宽度是320px。

UIPageController的子ScrollView始终保持当前有三个手机屏幕的界面的contentView,然后始终最后停止的时候,偏移量更新为一个屏幕的大小,比如在iPhone6中,当前有1 2 3个界面在contentView中,当前显示的是第2个界面,偏移量自然就是320,然后我们向右拖拽界面,从2到1的过程,偏移量从320 --> 0,最后当前显示第1个界面,然而,UIpageController底层会将ScorllView的ContentView的偏移量重新更新为320,这样就能保证当前显示的View始终在scrollView的contentView的中间。

所以在使用偏移量的时候,要注意这个0突然变化到320,或者是640突然变化到320的这个过程。

需要用一点小算法处理这个逻辑。

 

最后还是要备份一下Demo代码的:

  百度云下载链接: http://pan.baidu.com/s/1c2mGoMW 密码: 4tmu

这个源码的控制器的逻辑图:

    

 

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇IOS MenuController的部分操作 下一篇04_Swift2基础之类型安全和类型推..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目