pujiaxin33 /JXCategoryView
A powerful and easy to use category view (segmentedcontrol, segmentview, pagingview, pagerview, pagecontrol) (腾讯新闻、今日头条、QQ音乐、网易云音乐、京东、爱奇艺、腾讯视频、淘宝、天猫、简书、微博等所有主流APP分类切换滚动视图)
★ 6,151⑂ 1,146
6,151
stars
+1+1+2
1,146
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions
README
A powerful and easy to use category view (segmentedcontrol, segmentview, pagingview, pagerview, pagecontrol) (腾讯新闻、今日头条、QQ 音乐、网易云音乐、京东、爱奇艺、腾讯视频、淘宝、天猫、简书、微博等所有主流 APP 分类切换滚动视图)
与其他的同类三方库对比的优点:
- 使用协议封装指示器逻辑,可以随心所欲地自定义指示器效果;
- 提供更加全面丰富、高度自定义的效果;
- 使用子类化管理 cell 样式,逻辑更清晰,扩展更简单;
- 高度封装列表容器,使用便捷,完美支持列表的生命周期调用;
Swift版本
如果你在找 Swift 版本,请点击查看 JXSegmentedView。
效果预览
指示器效果预览
说明 | Gif |
----|------|
LineView | |
LineView延长 | |
LineView延长+偏移 | |
LineView🌈彩虹风格 | |
DotLineView点线效果 | |
BallView QQ黏性红点 | |
TriangleView 三角形底部 | |
TriangleView 三角形顶部 | |
BackgroundView椭圆形 | |
BackgroundView椭圆形+阴影 | |
BackgroundView长方形 | |
BackgroundView遮罩有背景 | |
BackgroundView遮罩无背景 | |
BackgroundView渐变色 | |
ImageView底部(小船) | |
ImageView背景(最佳男歌手) | |
ImageView滚动效果(足球) | |
混合使用 | |
以下均支持上下位置切换:
JXCategoryIndicatorLineView、JXCategoryIndicatorImageView、JXCategoryIndicatorBallView、JXCategoryIndicatorTriangleView
Cell样式效果预览
说明 | Gif |
----|------|
颜色渐变 | |
大小缩放 | |
大小缩放+底部锚点 | |
大小缩放+顶部锚点 | |
大小缩放+字体粗细 | |
大小缩放+点击动画 | |
大小缩放+cell宽度缩放 | |
TitleImage_Top | |
TitleImage_Left | |
TitleImage_Bottom | |
TitleImage_Right | |
cell图文混用 | |
Image | |
数字 | |
红点 | |
多行文本 | |
多行富文本 | |
Cell背景色渐变 | |
分割线 | |
特殊效果预览
说明 | Gif |
----|------|
数据源过少 averageCellSpacingEnabled默认为YES | |
数据源过少 averageCellSpacingEnabled为NO | |
SegmentedControl参考SegmentedControlViewController类 | |
导航栏使用参考NaviSegmentedControlViewController类 | |
嵌套使用参考NestViewController类 | |
个人主页(上下左右滚动、header悬浮)参考PagingViewController类 更多样式请点击查看JXPagingView库 | |
垂直列表滚动参考VerticalListViewController类 高仿腾讯视频支持UITableView,参考VerticalListTableViewController(背景色异常是录屏软件bug) | |
| 垂直缩放(仿网易圈圈、脉脉首页)参考ScrollZoomViewController类 | |
数据源刷新&列表数据加载参考LoadDataListContainerViewController类 | |
上下滚动隐藏导航栏 | |
京东首页-滚动渐变变小 | |
自定义效果预览
收录来自其他使用者的自定义示例,这些自定义类只在 Demo 项目里面,Pod 库并没有这些文件。所以,如果你需要使用这些自定义效果,请通过文件导入的方式。
目的:
- 参考学习如何自定义;
- 直接修改自定义示例类以快速实现自己的需求。
欢迎提 PullRequest 进行收录你的自定义效果。
| 说明 | Gif |
| ----|------|
| Spring动画指示器 | |
| 富文本数量cell | |
| 左右对齐指示器 | |
| 秒杀时间线cell | |
| 京东商品排序cell | |
| title背景块cell | |
要求
- iOS 9.0+
- Xcode 9+
- Objective-C
安装
手动
Clone 代码,把 Sources 文件夹拖入项目,import "JXCategoryView.h" 就可以使用了。
CocoaPods
ruby
target '' do
pod 'JXCategoryView'
end
先执行 pod repo update,再执行 pod install。
结构图
使用
JXCategoryTitleView 使用示例
1. 初始化 JXCategoryTitleView:
Objective-C
self.categoryView = [[JXCategoryTitleView alloc] initWithFrame:CGRectMake(0, 0, WindowsSize.width, 50)];
self.categoryView.delegate = self;
[self.view addSubview:self.categoryView];
2. 配置 JXCategoryTitleView 的属性:
Objective-C
self.categoryView.titles = @[@"螃蟹", @"麻辣小龙虾", @"苹果"...];
self.categoryView.titleColorGradientEnabled = YES;
3. 添加指示器:
Objective-C
JXCategoryIndicatorLineView lineView = [[JXCategoryIndicatorLineView alloc] init];
lineView.indicatorColor = [UIColor redColor];
lineView.indicatorWidth = JXCategoryViewAutomaticDimensio