iOS类似微博、抖音、网易云等个人详情页滑动嵌套效果
GKPageScrollView是一个UIScrollview嵌套滑动库,主要参考了JXPagingView,在他的基础上做了修改,实现了自己想要的效果。
GKPageSmoothView是一个可延续滑动的UIScrollView嵌套滑动库
主要功能
GKPageScrollView
- 支持上下滑动、左右滑动,手势返回等
- 支持如UITableView的sectionView的悬停效果
- 支持多种分页控件,如JXCategoryView,WMPageController,VTMagic等
- 可实现导航栏颜色渐变、头图下拉放大等效果
- 支持主页、列表页下拉刷新,列表页上拉加载
- 支持列表懒加载创建
GKPageSmoothView
- 支持上下滑动、左右滑动、手势返回等
- 支持顶部悬停、底部悬停
- 支持底部悬停拖拽,可实现豆瓣电影详情页效果
- 支持如JXCategoryView,JXSegmentedView等的分段控件
- 可实现导航栏颜色渐变、头图下拉放大等效果
- 支持主页下拉刷新、列表页上拉加载
使用方法
1、手动安装
下载GKPageScrollView demo
- Objective-C:拖入GKPageScrollView/objc文件夹中的.h和.m文件,#import "GKPageScrollView.h",开始使用
- Swift:拖入GKPageScrollView/swift文件夹中的.swift文件,开始使用
2、CocoaPods安装:
- Objective-C:
pod 'GKPageScrollView'
then#import <GKPageScrollView.h>
- Swift:
pod 'GKPageScrollViewSwift'
thenimport GKPageScrollViewSwift
如果发现pod search GKPageScrollView/GKPageScrollViewSwift 不是最新版本,在终端执行pod setup命令更新本地spec镜像缓存,重新搜索即可。
3、Swift Package Manager 安装
依次点击 Xcode 的菜单 File > Swift Packages > Add Package Dependency,填入 https://github.com/QuintGao/GKPageScrollView.git
常见问题
1、headerView出现多个,不要在headerView代理方法中做视图创建、添加等操作
2、手势处理
效果图
说明 | 效果图 |
---|---|
微博个人主页 | |
微博发现页 | |
网易云歌手页 | |
抖音个人主页 | |
主页下拉刷新 | |
列表下拉刷新 | |
列表懒加载 | |
嵌套滑动1 | |
嵌套滑动2 |
说明
iOS-多个UIScrollView滑动嵌套(仿微博、抖音、网易云个人详情页)
iOS用GKPageScrollView实现微博发现页滑动效果
iOS用GKPageScrollView实现多层分类嵌套滑动
版本更新
- 2020.12.10 1.4.2 - 拆分GKPageScrollView和GKPageSmoothView,GKPageSmoothView支持底部悬浮、底部拖拽
- 2020.12.09 1.4.1 - 增加属性可传入横向滑动的scrollView,更加方便处理手势冲突
- 2020.12.01 1.4.0 - 修复延续滑动可能出现header不能滑动的bug #57
- 2020.08.07 1.3.8 - 修复列表刷新快速滑动时的bug
- 2020.07.22 1.3.7 - 滑动延续代码优化
- 2020.05.19 1.3.6 - 增加列表延续滑动功能,需使用GKPageSmoothView类
- 2020.04.18 1.3.5 - 优化代码,支持Swift 5.x
- 2019.11.11 1.3.3 - 修复GKPageScrollView与返回手势的滑动冲突
- 2019.10.25 1.3.1 - 增加GKPageTableViewGestureDelegate,解决嵌套时的滑动冲突
- 2019.10.22 1.3.0 - 修复pageScrollView高度为0时出现的崩溃问题
- 2019.10.09 1.2.9 - 解决pageScrollView不是全屏时的高度不准确问题
- 2019.06.16 1.2.7 - 优化设置列表加载方式的方法,可通过属性设置懒加载方式
- 2019.06.06 1.2.6 - 解决当HeaderView的高度设置为小于1时列表不能滑动问题
- 2019.06.03 1.2.5 - 修改点击状态栏后位置错乱问题
- 2019.04.22 1.2.3 - UITableView cell点击处理,解决使用mj_header可能出现的bug
- 2019.04.18 1.2.1 - 公开滑动处理方法,修复方法版本判断错误问题
- 2019.03.21 1.2.0 - 优化刷新方法,可用于实现item个数不固定的情况
- 2019.03.14 1.1.0 - 增加列表懒加载功能,可用于子列表较多的情况
- 2019.03.04 1.0.9 - 增加Swift版本,pod统一更新到1.0.9
- 2019.02.25 1.0.7 - 优化切换临界点和原点的方法,增加仿微博发现页demo
- 2019.02.20 1.0.6 - 增加快速切换临界点和原点的方法
- 2018.12.11 1.0.3 - 支持下拉刷新、上拉加载