LTScrollView

ScrollView嵌套ScrolloView(UITableView 、UICollectionView)解决方案, 支持OC / Swift(持续更新中...)实现原理:http://blog.csdn.net/glt_code/article/details/78576628

989
203
Swift

LTScrollView

实现原理: http://blog.csdn.net/glt_code/article/details/78576628

CI Status
Version
License
Platform

image

Demo文件路径以及说明

  • LTScrollView / Example : 为 Swift 使用示例.
  • LTScrollView / OCExample : 为 OC 使用示例.
  • 支持的子View为UIScrollView、UICollectionView、UITableView.
  • 无限轮播 + 拖动移动

CocoaPods安装

安装CocoaPods 使用以下命令:

$ gem install cocoapods

Podfile

在你的 Podfile中添加LTScrollView

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '11.0'

target 'TargetName' do
# 注意此处需要添加use_frameworks!
use_frameworks!

# 当前最新版本 - 2023-09-01
pod 'LTScrollView', '~> 0.4.5'

# 无限轮播框架 + 预加载子组件
#pod 'LTScrollView/LTLoopsPlay'

# 跟随拖动移动子组件
#pod 'LTScrollView/LTFollowMove'

end

然后,使用以下命令安装

$ pod install

提示错误 [!] Unable to find a specification for LTScrollView 解决办法:

$ pod repo remove master
$ pod setup

Swift使用说明

Swift.LTSimple使用说明

  1. 创建LTSimpleManager实例对象
@objc public init(frame: CGRect, viewControllers: [UIViewController], titles: [String], currentViewController:UIViewController, layout: LTLayout)
  1. 设置headerView
@objc public func configHeaderView(_ handle: (() -> UIView?)?)
  1. 子控制器中glt_scrollView进行赋值
self.glt_scrollView = self.tableView(self.scrollView / self.collectionView)
  1. 更多使用说明请参考Demo(LTScrollView / Example)

Swift.LTAdvanced使用说明

  1. 创建LTAdvancedManager实例对象、并设置headerView
@objc public init(frame: CGRect, viewControllers: [UIViewController], titles: [String], currentViewController:UIViewController, layout: LTLayout, headerViewHandle handle: () -> UIView)
  1. 子控制器中glt_scrollView进行赋值
self.glt_scrollView = self.tableView(self.scrollView / self.collectionView)
  1. 更多使用说明请参考Demo(LTScrollView / Example)

OC使用说明

OC.LTSimple使用说明

  1. 创建LTSimpleManager实例对象
[[LTSimpleManager alloc] initWithFrame:frame viewControllers:self.viewControllers titles:self.titles currentViewController:self layout:self.layout]
  1. 设置headerView
[self.managerView configHeaderView:^UIView * _Nullable{ }]
  1. 子控制器中glt_scrollView进行赋值
self.glt_scrollView = self.tableView(self.scrollView / self.collectionView)
  1. 更多使用说明请参考Demo(LTScrollView / OCExample)

OC.LTAdvanced使用说明

  1. 创建LTAdvancedManager实例对象、并设置headerView
 [[LTAdvancedManager alloc] initWithFrame:frame viewControllers:self.viewControllers titles:self.titles currentViewController:self layout:self.layout headerViewHandle:^UIView * _Nonnull{}]
  1. 子控制器中glt_scrollView进行赋值
self.glt_scrollView = self.tableView(self.scrollView / self.collectionView)
  1. 更多使用说明请参考Demo(LTScrollView / OCExample)

LTLayout属性说明

详情查看LTLayout.swift

更新说明

2022.09.01 - 0.4.5

1. 标题刷新
2. 修复已知Bug

2022.03.13 - 0.4.4

1. 自定义标题模块修改
2. 修复进阶版部分机型小数导致无法悬停问题

2022.03.05 - 0.4.3

1. 新增嵌套混合视图的切换(支持悬停+左右切换)
2. 新增无限轮播+预加载视图框架
3. 新增跟随拖动隐藏视图框架

建议所有用户都升级~

2021.11.20 - 0.4.2

1. 完美适配iOS15
2. 修复OC不能自定义标题的Bug
3. 修复进阶版无法滚动到指定位置的Bug
4. 完善OC Demo的使用示例
5. 修复部分开发者使用中反馈的问题

建议所有用户都升级~

2020.08.22 - 0.3.0

1. 兼容Swift5
2. 新增自定义标题功能, 任意样式随你设置
3. 修复子控制器不释放Bug
4. 优化内部实现、修复已知问题、性能更佳

目前仅优化了除LTAdvancedManager以外的其他功能,LTAdvancedManager近期优化!

2018.09.16 - 0.2.0

新增自定义选项卡

2018.09.02 - 0.1.9

1. 修修复LTAdvancedManager子控制为CollectionView时的Bug
2. 解决issue中的部分问题

2018.07.29 - 0.1.8

1. 新增LTLayout中关闭左右滑动的属性isScrollEnabled
2. 修复LTAdvancedManager数据较少时切换Bug
3. 解决issue中的部分问题

2018.06.30 - 0.1.7

1. 修复LTAdvancedManager数据较少时,其他子控制器自动下落Bug
2. 解决issue中的部分问题
3. 优化内部实现

Author

License

LTScrollView is available under the MIT license. See the LICENSE file for more info.