`
beike
  • 浏览: 356626 次
社区版块
存档分类
最新评论

UIScrollView分页的实现

阅读更多

UIScrollView分页的实现

 

 UIScrollView的经典例子就是safari的编辑模式了
  UIScrollView可以垂直,水平滚动。
  如果属性pageEnabled = YES,则设置其为分页模式,那么没滚动一次就是一页,垂直方向上的一页就是UIScrollView的高度,水平方向就是其宽度。
  我们可以设置contentSize,这就是UIScrollView可以滚动的最大区域了。
  UIScrollView没有datasource的概念,因为这就是一个view,具体view中的内容摆放完全随意,只是每次都会滚动固定的页面大小。
  比如我们有5个页面,我们需要自己计算每个页面的位置,将其水平放在UIScrollView上。
  contentSize则设置为5*每个页面的宽度,每个页面的高度。
  如果contentSize的高度或这宽度正好与UIScrollView的高度或宽度相等,则在该方向上不能滚动。
  具体例子可以查看官方文档的例子,PageControl。
  注意:UIScrollView不会带有分页的指示符号,需要利用UIPageControl控制。
  但是要想做到safari的效果,我们需要一个小技巧,因为在safari中,当前页时可以看到前后两页的部分内容。
  注意:分页的宽度不能修改,所以我们只能缩小UIScrollView的宽度,让其不要占满整个屏幕,同时设置clipsToBouds属性为NO,这样超出范围的视图也会显示,这样就能看到前后两页的内容,当然需要设置前后两页的alpha值为0.5,做出一个透明效果。
  在UIScrollView的滚动事件中,判断位置,当一个页面出现的区域超过1半时,设置alpha为1,小于1半时设置alpha为0.5
  现在还有一个问题:UIScrollView的滑动事件响应区域变小了,因为UIScrollView本身变小了,其余我们看到的页面在区域之外,因此我们需要重写UIScrollView所在的parentView的hittest事件,在其他区域的事件返回值为UIScrollView对象,这样用户感觉整个屏幕都是UIScrollView在响应了。

分享到:
评论

相关推荐

    Swift实现可自定义分页宽度的UIScrollView

    主要为大家详细介绍了Swift实现可自定义分页宽度的UIScrollView,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    IOS开发之UIScrollView实现图片轮播器的无限滚动

    在现在的一些App中常常见到图片轮播器,一般用于展示广告、新闻等数据,在iOS内并没有现成的控件直接实现这种功能,但是通过UIScrollView的允许分页设置,可以实现滚动轮播的功能。 轮播原理 UIScrollView对象有...

    DMCircularScrollView:UIScrollView的InfiniteCircular滚动实现

    UIScrollView的无限/圆形滚动实现DMCircularScrollView实现infinite。 在为您的应用创建分页功能时,有时可能需要无限的页面循环。 例如,如果您要显示的是一个很小的照片库,则可能需要在整个场景中滑动,并在到达...

    IOS 仿淘宝详情页面上下分页效果

    IOS 仿淘宝详情页面上下分页效果,利用两个UIscrollview的上拉和下拉的代理方法实现

    GKPageSmoothView是一个可延续滑动的UIScrollView嵌套滑动库

    GKPageScrollView是一个UIScrollview嵌套滑动库,主要参考了JXPagingView,在他的基础上做了修改,实现了自己想要的效果。支持上下滑动、左右滑动,手势返回等。支持如UITableView的sectionView的悬停效果。支持多种...

    React-ScrollView:受UIScrollView启发的React组件

    React-ScrollView 将UIScrollView引入网络。 这个项目是从拉出来。例子有关垂直滚动和水平分页示例,请参见示例文件夹。

    iOS 类似淘宝商品详情查看翻页效果的实现

    1、设置一个 UIScrollView 作为视图底层,并且设置分页为两页 2、然后在第一个分页上添加一个 UITableView 并且设置表格能够上提加载(上拉操作即为让视图滚动到下一页) 3、 在第二个分页上添加一个 UIWebView 并且...

    iOS Swift利用UICollectionView实现无限轮播功能(原理)详解

    作为一个资深(自认为)iOS程序猿,会经常用到轮播图,上一次使用UIScrollView实现无限轮播的效果,这一次在Swift语言中,我使用UICollectionView再为大家讲解一次无限轮播的实现原理。 先上图: UICollectionView-...

    iOS项目开发–实现类似淘宝详情页面

    前段时间公司在研发一个电商项目,趁现在有时间把其中的知识点整理整理。...3、 在第二个分页上添加一个 UIScrollView 并且设置能有下拉刷新操作(下拉操作即为让视图滚动到上一页) 4、第二个分页UIScroll

    ios-滚动视图.zip

    LGSublimationView 是 UIScrollView 上,一个有着很酷的分页动画的视图。它可以实现一个效果是,滚动视图的背景不与滚动视图一起滚动,而当分页时,背景会渐变成另一个。

    WYPageScrollVIew:具有自定义分页宽度的分页scrollView

    1、实现 UIScrollViewDelegate 协议,重写scrollViewWillEndDragging:withVelocity:targetContentOffset:方法 首先要保证scrollView的pagingEnabled为NO,示例如下: - (void)scrollViewWillEndDragging:...

    GKPageScrollView:iOS类似微博、抖音、网易云等个人详情页滑动嵌套效果

    GKPageScrollView是一个UIScrollview嵌套滑动库,主要参考了,在他的基础上做了修改,实现了自己想要的效果。 GKPageSmoothView是一个可延续滑动的UIScrollView嵌套滑动库 主要功能 GKPageScrollView 支持上下滑动、...

    SwipeViewSwiftly:SwipeView 的 Swift 改编

    SwipeView 是一个旨在简化 iOS 上水平、分页滚动视图的实现的类。 它基于 UIScrollView,但增加了方便的功能,例如 UITableView 风格的 dataSource/delegate 接口,用于动态加载视图,以及高效的视图加载、卸载和...

    AZASScroll:AS3的滚动内容、数据列表、数据选择组件

    特征: iOS UIScrollView/UITableView 之类的 API。 用于任意数据的全功能滚动/列表/选择功能。 纯核心 AS3 库实现,没有 Flex 或其他 3rd 方库。班级滚动视图其他两个的基类。 用于显示溢出当前可见区域的大内容。 ...

Global site tag (gtag.js) - Google Analytics