美文网首页
iOS-电商常用分类实现

iOS-电商常用分类实现

作者: 善良的皮蛋 | 来源:发表于2019-07-24 16:28 被阅读0次

电商分类页实现

前言:商品分类页几乎涵盖了所有电商App,实现的方法有很多,今天分享一个在我当前项目应用的实现方法。

先看效果图
image.png

思路分析:左边是一个索引tableview 右边是一个展示collectionView ,通过点击左侧tableview 来计算当前点击的index,然后计算偏移量。

- (void)leftTableViewOffsetWithIndexPath:(NSIndexPath *)indexPath
{
    //判断点击的cell是否靠近底部,或顶部,是则偏移指定位移
    CGRect rect = [self.leftTableView rectForRowAtIndexPath:indexPath];
    
    CGFloat total_offset = self.leftTableView.contentSize.height - self.leftTableView.mj_h;//总偏移
    NNHWeakSelf(self);
    //50为cell高度,乘以3表示点击下面三个时偏移
    if (rect.origin.y - self.leftTableView.mj_offsetY >= self.leftTableView.mj_h - 50 * 3 - 1) {
        
        CGFloat contentOffset_y = self.leftTableView.mj_offsetY + 50 * 3;
        
        if (total_offset - self.leftTableView.mj_offsetY < 50 * 3) {
            //判断ios 11直接设置偏移无效,我也没弄懂,必须延时才有效
            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                
                [weakself.leftTableView setContentOffset:CGPointMake(0, total_offset) animated:YES];
            });
        }
        else
        {
            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                [weakself.leftTableView setContentOffset:CGPointMake(0, contentOffset_y) animated:YES];
            });
        }
    }
    //50为cell高度,乘以3表示点击上面三个时偏移
    else if (rect.origin.y - self.leftTableView.mj_offsetY < 50 * 3)
    {
        CGFloat contentOffset_y = self.leftTableView.mj_offsetY - 50 * 3;
        
        if (self.leftTableView.mj_offsetY < 50 * 3) {
            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                [weakself.leftTableView setContentOffset:CGPointMake(0, 0) animated:YES];
            });
            
        }
        else
        {
            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                [weakself.leftTableView setContentOffset:CGPointMake(0, contentOffset_y) animated:YES];
            });
            
        }
    }
    
}

附上github地址 各位老爷觉得还不错记得给个star。

相关文章

  • iOS-电商常用分类实现

    电商分类页实现 前言:商品分类页几乎涵盖了所有电商App,实现的方法有很多,今天分享一个在我当前项目应用的实现方法...

  • 电商

    电商分类。(来自hasty )如hasty所言,电商基本可分为四类:平台电商垂直电商导流电商跨境电商进口方式:常见...

  • 跨境电商简单总结

    跨境电商是什么? 跨境电商分类分为跨境出口电商和跨境进口电商,目前业务只涉及到进口业务。跨境进口电商就是将国外的商...

  • Axure 教程:PC 端电商首页商品分类

    本次来讲解 PC 端电商首页的商品分类,如何在Axure里面实现。 以下依旧使用动态面板来实现效果( 理由:方便、...

  • web整合Solr

    1..Solr案例实战 1.1.需求 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字、分类、价格搜索商...

  • 移动互联网

    垂直分类电商,网站等专注一类

  • 短文本分类在商品分类下的应用

    最近发现从电商网站获取到的商品,有一些是没有分类信息的想到用商品标题文本解析,用文本分类的方法来初步实现未分类商品...

  • 电商分类导航

    首先看一下大体的HTML结构: li是左侧的一级菜单,div.submenu是相应的二级菜单,正常情况下是隐藏的。...

  • 产品经理:内容电商类产品的设计思路是什么?

    什么是内容电商?所谓内容电商,就是通过内容和电商结合的模式,通过内容实现电商的导流。但是,不是说产品有内容,有电商...

  • 怎样实现内容变现类的产品设计?

    什么是内容电商?所谓内容电商,就是通过内容和电商结合的模式,通过内容实现电商的导流。但是,不是说产品有内容,有电商...

网友评论

      本文标题:iOS-电商常用分类实现

      本文链接:https://www.haomeiwen.com/subject/crtfrctx.html