<u id="rnvt2"><dl id="rnvt2"></dl></u>

            1. <mark id="rnvt2"></mark>
            <source id="rnvt2"></source><u id="rnvt2"><sub id="rnvt2"></sub></u>

            1. <u id="rnvt2"><small id="rnvt2"></small></u>

            2. <u id="rnvt2"></u>
            3. 幫助與文檔
              熱搜關鍵詞:直播系統短視頻源碼一對一
              云豹短視頻app源碼中,用戶定位與位置篩選功能如何實現
              發布來源:云豹科技    發布人:云豹科技    Date:2021-01-22 09:51:09

              在云豹短視頻app源碼中,用戶定位與位置篩選功能部分,使用的是類似通訊錄樣式的字母排序方式,以及右側導航直達的跳轉模式,這一設置的目的是盡量以最簡潔的方式UI、用戶最熟悉的排序方式便于用戶使用該功能。

              接下來我們將從兩個步驟分析,該功能如何實現,短視頻app源碼搭建后的效果圖如下: 


              短視頻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,目前這兩家的定位系統是比較準確且好用的。

              聲明:以上內容為云豹科技原創,未經公司同意,禁止轉載,否則將追究相關法律責任www.radissonsedona.com

              本文標簽: 短視頻app源碼
              相關閱讀
              男人和女人高潮免费网站_国产熟女高潮视频_精品国产美女福到在线不卡_japanese日本护士xxx