Swiftpack.co -  QuintGao/GKPageScrollView as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
QuintGao/GKPageScrollView
iOS类似微博、抖音、网易云等个人详情页滑动嵌套效果
.package(url: "https://github.com/QuintGao/GKPageScrollView.git", from: "1.6.4")

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

GKPageScrollView是一个UIScrollview嵌套滑动库,主要参考了JXPagingView,在他的基础上做了修改,实现了自己想要的效果。

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

主要功能

GKPageScrollView

  • 支持上下滑动、左右滑动,手势返回等
  • 支持如UITableView的sectionView的悬停效果
  • 支持多种分页控件,如JXCategoryView,WMPageController,VTMagic
  • 可实现导航栏颜色渐变、头图下拉放大等效果
  • 支持主页、列表页下拉刷新,列表页上拉加载
  • 支持列表懒加载创建

GKPageSmoothView

  • 支持上下滑动、左右滑动、手势返回等
  • 支持顶部悬停、底部悬停
  • 支持底部悬停拖拽,可实现豆瓣电影详情页效果
  • 支持如JXCategoryView,JXSegmentedView等的分段控件
  • 可实现导航栏颜色渐变、头图下拉放大等效果
  • 支持主页下拉刷新、列表页上拉加载

1.5.0升级指南

1.5.0版本以后,使用swift版本需
pod 'GKPageScrollView/Swift'
pod 'GKPageSmoothView/Swift'

使用方法

1、手动安装

下载GKPageScrollView demo
  • Objective-C:
    拖入Source/GKPageScrollView文件夹中的.h和.m文件,#import "GKPageScrollView.h",开始使用
    拖入Source/GKPageSmoothView文件夹中的.h和.m文件,#import "GKPageSmoothView.h",开始使用

  • Swift:
    拖入Source/GKPageScrollViewSwift文件夹中的.swift文件,开始使用
    拖入Source/GKPageSmoothViewSwift文件夹中的.swift文件,开始使用

2、CocoaPods安装:

  • Objective-C:
    pod 'GKPageScrollView' then #import <GKPageScrollView/GKPageScrollView.h>
    pod 'GKPageSmoothView' then #import <GKPageSmoothView/GKPageSmoothView.h>

  • Swift:
    pod 'GKPageScrollViewSwift' then import GKPageScrollViewSwift
    pod 'GKPageSmoothViewSwift' then import GKPageSmoothViewSwift

如果发现pod search GKPageScrollView/GKPageScrollViewSwift 不是最新版本,在终端执行pod setup命令更新本地spec镜像缓存,重新搜索即可。

3、Swift Package Manager 安装

依次点击 Xcode 的菜单 File > Swift Packages > Add Package Dependency,填入 https://github.com/QuintGao/GKPageScrollView.git
选择需要使用的库,GKPageScrollView/GKPageScrollViewSwift/GKPageSmoothView/GKPageSmoothViewSwift

常见问题

1、headerView出现多个,不要在headerView代理方法中做视图创建、添加等操作
2、手势处理

效果图

说明 效果图
微博个人主页 wb
微博发现页 wb_find
网易云歌手页 wy
抖音个人主页 dy
主页下拉刷新 mainRefresh
列表下拉刷新 listRefresh
列表懒加载 lazyload
嵌套滑动1 nest1
嵌套滑动2 nest2
豆瓣电影详情 db

说明

iOS-多个UIScrollView滑动嵌套(仿微博、抖音、网易云个人详情页)
iOS用GKPageScrollView实现微博发现页滑动效果
iOS用GKPageScrollView实现多层分类嵌套滑动
【iOS】仿豆瓣电影详情页嵌套滑动效果

版本更新

  • 2021.09.08 1.6.4 - 修复可能出现的黑屏问题 #77
  • 2021.09.06 1.6.3 - 修复改变外部尺寸,子列表尺寸无变化问题
  • 2021.07.30 1.6.2 - GKSmoothView增加代理方法,是否允许重置listScrollView的位置
  • 2021.07.28 1.6.1 - GKSmoothView内部优化,修改内容不足一屏时的逻辑
  • 2021.07.19 1.6.0 - 新增禁止主页滑动属性,设置后只有列表可以滑动
  • 2021.06.16 1.5.8 - GKPageScrollView内部优化,修复某些情况下快速滑动导致CPU升高的问题
  • 2021.04.19 1.5.6 - 修复GKPageSmoothView加载UICollectionView时的bug,去掉打印
  • 2021.04.16 1.5.5 - GKPageSmoothView增加返回header容器高度,demo增加下拉刷新和上拉加载
  • 2021.03.19 1.5.4 - 代码优化,GKPageSmoothView新增快速滑动到原点、临界点的方法
  • 2021.01.25 1.5.3 - 修复GKPageSmoothView swift版本可能出现的错乱问题#65,GKPageScrollView增加刷新segmentedView方法
  • 2021.01.07 1.5.2 - 修复某些情况下出现页面错乱问题#64
  • 2021.01.02 1.5.0 - pod and spm update
  • 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 - 支持下拉刷新、上拉加载

GitHub

link
Stars: 1184
Last commit: 1 week ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Submit a free job ad (while I'm testing this). The analytics numbers for this website are here.

Release Notes

1.6.4 版本发布
1 week ago

1、修复某些情况下的黑屏问题 #77 2、增加刷新回调协议方法

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics