直播卖货小程序源码中,商品分类页面是如何实现的
时间: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];
}
这样,一个简单地一二级分类就完成了。
以上,就是直播卖货小程序源码中,商品分类页面的实现过程。
声明:以上内容为作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任。
- 从头编写 asp.net core 2.0 web api 基础框架 (5) EF CRUD
- 从头编写 asp.net core 2.0 web api 基础框架 (4) EF配置
- RavenDb学习(十)附件,存储大对象
- 从头编写 asp.net core 2.0 web api 基础框架 (3)
- Distribute Cached 使用
- RavenDb学习(七) 异步工作以及维度查询
- RavenDb学习(五)结果转换
- sqoop 从sqlserver2008 导入数据到hadoop
- 从头编写 asp.net core 2.0 web api 基础框架 (2)
- hbase源码系列(四)数据模型-表定义和列族定义的具体含义
- RavenDb学习(四)处理文档相关性
- RavenDb学习(二)简单的增删查改
- RavenDb学习(九)高级特性下半部分
- RavenDb学习(三)静态索引
- 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 数组属性和方法
- PHP实现获取毫秒时间戳的方法【使用microtime()函数】
- 利用PHP如何统计Nginx日志的User Agent数据
- PHP树形结构tree类用法示例
- PHP PDOStatement::errorCode讲解
- Laravel框架搜索分页功能示例
- 解决Keras TensorFlow 混编中 trainable=False设置无效问题
- 浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
- 使用 prometheus python 库编写自定义指标的方法(完整代码)
- PHP PDOStatement::fetchColumn讲解
- PHP PDOStatement::bindValue讲解
- PDO::lastInsertId讲解
- thinkPHP框架RBAC实现原理分析
- PHP PDOStatement::debugDumpParams讲解
- PDO::prepare讲解
- sklearn的predict_proba使用说明