直播卖货小程序源码中,商品分类页面是如何实现的
时间:2022-07-22
本文章向大家介绍直播卖货小程序源码中,商品分类页面是如何实现的,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在直播卖货小程序源码中,一般都包含商品分类页面,如下图,那么这个页面是如何通过代码实现的呢?下面,小编以iOS版本的开发过程为例,来讲述下实现过程。
左边一级分类使用tableview来展示,右边的耳机分类使用collectionview来展示,主要就是实现一二级分类的联动。下面主要讲下点击和滑动。
1、左侧一级分类的点击实现
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
if (indexPath.row != selectTableIndex) {
//判断滑动是不是因为点击一级分类引起
isClickLeft = YES;
selectTableIndex = indexPath.row;
[tableView reloadData];
//二级分类滑动到对应的区域
[_classCollectionView scrollToItemAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:selectTableIndex] atScrollPosition:UICollectionViewScrollPositionTop animated:YES];
///让collectionview的滑动回退sectionheader的高度
_classCollectionView.contentOffset = CGPointMake(0, _classCollectionView.contentOffset.y-70);
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
isClickLeft = NO;
});
}
}
2、在collectionview的代理方法中更改一级分类的选中
///collectionview将要加载头尾视图调用的方法
- (void)collectionView:(UICollectionView *)collectionView willDisplaySupplementaryView:(UICollectionReusableView *)view forElementKind:(NSString *)elementKind atIndexPath:(NSIndexPath *)indexPath {
if (isClickLeft) {
return;
}
CGPoint point = [view convertPoint:CGPointZero toView:self.view];
///判断是不是SectionHeader
if (point.y < 100 && [elementKind isEqualToString:UICollectionElementKindSectionHeader]) {
///更新当前选中的一级分类的indexpath
selectTableIndex = indexPath.section;
[_classTableView reloadData];
}
}
///collectionview已经加载完头尾视图调用的方法
- (void)collectionView:(UICollectionView *)collectionView didEndDisplayingSupplementaryView:(UICollectionReusableView *)view forElementOfKind:(NSString *)elementKind atIndexPath:(NSIndexPath *)indexPath {
if (isClickLeft) {
return;
}
CGPoint point = [view convertPoint:CGPointZero toView:self.view];
///判断是不是SectionHeader
if (point.y < 100 && [elementKind isEqualToString:UICollectionElementKindSectionHeader]) {
///更新当前选中的一级分类的indexpath
selectTableIndex = indexPath.section;
[_classTableView reloadData];
}
这样,一个简单地一二级分类就完成了。
以上,就是直播卖货小程序源码中,商品分类页面的实现过程。
声明:以上内容为作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任。
- Docker新手入门实战教程
- Python远程控制模块paramiko遇到的问题及解决记录
- Windows下bat批处理脚本使用telnet批量检测远程端口小记
- WordPress集成PHP缩略图,并开启Nginx缓存的方法
- 分享几个WordPress本地缓存gravatar评论头像的方案
- Linux下的mongodb服务脚本,以备不时之需
- WordPress发布文章主动推送到百度,加快收录保护原创
- Nginx开启fastcgi_cache缓存加速,支持html伪静态页面
- Go-指针、传值与传引用、垃圾回收
- SEO分享:彻底禁止搜索引擎抓取/收录动态页面或指定路径的方法
- Go-defer,panic,recover
- SEO技巧:Shell脚本自动提交网站404死链到搜索引擎
- Nginx发布1.9.0版本,新增支持TCP代理和负载均衡的stream模块
- WordPress4.2升级修复补丁:解决大量404请求以及评论表情路径及尺寸异常问题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法