在云豹短视频app源码中,用户定位与位置筛选功能部分,使用的是类似通讯录样式的字母排序方式,以及右侧导航直达的跳转模式,这一设置的目的是尽量以最简洁的方式UI、用户最熟悉的排序方式便于用户使用该功能。

接下来我们将从两个步骤分析,该功能如何实现,短视频app源码搭建后的效果图如下:

1.数据处理部分如何实现

NSArray *infoA = [NSArray arrayWithArray:info];
if (_paging == 1) {[_dataArray removeAllObjects];[_indexArray removeAllObjects];_allNums = 0;
}
if (infoA.count <= 0) {[_tableView.mj_footer endRefreshingWithNoMoreData];
}else {[_dataArray addObjectsFromArray:infoA];
for (int i = 0; i < infoA.count; i++) {NSDictionary *subDic = infoA[i];[_indexArray addObject:minstr([subDic valueForKey:@"title"])];
NSArray *listA = [NSArray arrayWithArray:[subDic valueForKey:@"lists"]];_allNums += listA.count;
}

2.UI显示以及右侧导航直达处理
如何在短视频app源码中实现点击右侧导航,直达目前所在的城市呢?这就需要接入以下代码了:

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {return 30;
}
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {UIView *headerVie = [[UIView alloc]initWithFrame:CGRectMake(0, 0, _window_width, 30)];NSDictionary *subDic = _dataArray[section];UILabel *titleL = [[UILabel alloc]init];titleL.font = SYS_Font(16);titleL.textColor = RGB_COLOR(@"#323232", 1);titleL.text = minstr([subDic valueForKey:@"title"]);[headerVie addSubview:titleL];[titleL mas_makeConstraints:^(MASConstraintMaker *make) {make.left.equalTo(headerVie.mas_left).offset(15);make.centerY.equalTo(headerVie);}];return headerVie;
}
-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{return 0;
}
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {return nil;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{return 50;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {return _dataArray.count;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{NSDictionary *subDic = _dataArray[section];NSArray *listA = @[];if ([[subDic valueForKey:@"lists"] isKindOfClass:[NSArray class]]) {listA = [NSArray arrayWithArray:[subDic valueForKey:@"lists"]];}return listA.count;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{YBCitySelCell *cell = [YBCitySelCell cellWithTab:tableView index:indexPath];NSDictionary *subDic = _dataArray[indexPath.section];NSArray *listA = @[];if ([[subDic valueForKey:@"lists"] isKindOfClass:[NSArray class]]) {listA = [NSArray arrayWithArray:[subDic valueForKey:@"lists"]];}cell.cityNameL.text = listA[indexPath.row];return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{[self.tableView deselectRowAtIndexPath:indexPath animated:YES];NSDictionary *subDic = _dataArray[indexPath.section];NSArray *listA = @[];if ([[subDic valueForKey:@"lists"] isKindOfClass:[NSArray class]]) {listA = [NSArray arrayWithArray:[subDic valueForKey:@"lists"]];}NSString *cityName = listA[indexPath.row];if (self.citySelEvent) {self.citySelEvent(cityName);}[self clickNaviLeftBtn];
}
-(NSArray<NSString *> *)sectionIndexTitlesForTableView:(UITableView *)tableView{return _indexArray;
}

至此,短视频app源码中类似通讯录格式的位置选择功能就完成了,目前在定位方面,云豹短视频系统大陆地区使用的定位是腾讯地图SDK,它的优势是定位准确,但缺点是大陆外无法使用,大陆外使用的定位系统是谷歌SDK,目前这两家的定位系统是比较准确且好用的。

声明:以上内容为云豹科技原创,未经公司同意,禁止转载,否则将追究相关法律责任 http://www.yunbaokj.com/news/html/2088.html

云豹短视频app源码中,用户定位与位置筛选功能如何实现相关推荐

  1. 云豹短视频app源码中关于php--thinkcmf配置语言包的说明

    云豹科技经常接到国外客户的单子,因此在语言模式设置上,需要实现灵活切换,以便不同语言的人员使用.云豹短视频app源码采用PHP做后台,Thinkcmf做框架,Thinkcmf本身是具有多语言模式的,默 ...

  2. 云豹短视频app源码中,标签选择功能的实现

    在国内任意短视频app中,都能够看到"贴标签功能",云豹短视频app源码作为紧跟行业潮流的成品商业源码,自然也有该功能的实现,在云豹短视频app源码中,标签选择功能的实现要求是这样 ...

  3. 官方教程之短视频app源码接入openinstall实现免填邀请码功能

    短视频app源码在上线后,为了实现大规模推广,会开发用户邀请的功能.用户邀请新用户进行注册,建立上下级关系后,邀请用户可以获得短视频app源码的奖励.为了防止新用户注册后,不填写邀请码,短视频app源 ...

  4. 短视频app源码、小视频源码存储功能如何实现?

    在短视频app源码(小视频源码)开发中,考虑到后期用户上传短视频时需要大量应用到存储功能,故而需要实现这一功能,具体需要怎么做呢,本文将以云豹短视频app源码为例,为大家进行讲解. 一.阅读前请注意: ...

  5. 短视频app源码开发,音视频合成的实现

    在短视频app源码开发中,音视频数据的处理是关键,尤其是音视频合成处理,只有有声音的短视频内容才更有吸引力,在短视频app源码中如何实现音视频的合成呢? 音频合成 调用方法 //音视频合成func a ...

  6. 如何开发仿抖音短视频APP源码?

    如何开发仿抖音短视频APP源码? 流程列表 开发一个短视频最主要的流程分为 3 个,下面我将分步教你实现这 3 个流程下的各个功能点,功能点 API 可按需调用: 视频拍摄 a.启动拍摄 b.给拍摄添 ...

  7. 短视频app源码开发,短视频录制的实现

    原理说明 利用SurfaceView预览视频 利用系统自带的MediaRecorder实现短视频app源码中短视频视频的录制 实例化 设置音频输入 设置输出格式 设置视频编码格式 设置输出路径 调用p ...

  8. 短视频App源码:如何搭建短视频社区

    2019独角兽企业重金招聘Python工程师标准>>> 短视频App源码:如何搭建短视频社区 随着国内移动互联网的发展,中国的移动互联网时代已经来临,以快手.抖音为主的短视频平台迅速 ...

  9. 短视频源码,成品短视频app源码搭建第一步

    随着短视频平台的兴起,短视频app也成为了移动应用市场的一大风口.开发一款成品的短视频app需要大量的资源和时间,而使用现成的小视频app源码则可以快速地搭建出一个基础功能完备的短视频app.本文将介 ...

最新文章

  1. linux自动挂载方法,Linux操作系统下硬盘手工和自动挂载的方法
  2. dlt645 保电 合闸_DLT645-2007简单整理
  3. 【Flutter】HTTP 网络操作 ( 引入 http 插件 | 测试网站 | Get 请求 | Post 请求 | 将响应结果转为 Dart 对象 | Future 异步调用 )
  4. USB转串口 FT232/PL2303/CH340 驱动以及使用体会
  5. Java8学习笔记(三)--方法引入
  6. RTT——IO设备管理篇·基本概念理解
  7. java 蓝牙指定连接失败_java – Android蓝牙连接 – 服务发现失败
  8. 数据结构与算法(Python)第三天
  9. 全局唯一序号生成方案
  10. 【云周刊】第141期:阿里正式发布《Java开发手册》终极版!绝对珍藏!
  11. scala学习笔记一------初步了解scala
  12. (2017.03.12更新)CnCrypt文件保险箱1.19,兼容TrueCrypt加密卷
  13. 奇趣分享综合趣事百科文章类型discuz模板
  14. 《军团要塞2》绘画渲染
  15. 百度热力图颜色说明_各大软件地图中的热力图是什么?如何正确使用?收藏了...
  16. 【WebGIS实例】(1)MapboxGL绘制端点有符号的线
  17. ice 的 Nonmutating 和 Idempotent
  18. java中a z正则表达式,Java正则字符类[a-zA-Z]匹配
  19. 智能车竞赛技术研讨会
  20. 将String转化成HTML格式

热门文章

  1. MySQL 2059报错
  2. mongoTemplate聚合aggregate操作
  3. 美亚柏科:与阿里就公安云计算签合作协议
  4. Android等待对话框(做一个带动态效果的对话框)
  5. 浅聊:ES6模板字符串与一般字符串
  6. 视频教程-响应式网站切图实操-HTML5/CSS
  7. ubuntu16.04下teamviewer启动不显示界面
  8. indexof mysql_mysql 的indexof函数用法说明
  9. 《上海市市级企业技术中心申请报告》编写提纲
  10. pic12f508c语言程序,PIC烧写器(QL-PIC280编程器)