首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

直播卖货小程序源码中,商品分类页面是如何实现的

在直播卖货小程序源码中,一般都包含商品分类页面,如下图,那么这个页面是如何通过代码实现的呢?下面,小编以iOS版本的开发过程为例,来讲述下实现过程。...1、左侧一级分类的点击实现 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath...= indexPath.row;         [tableView reloadData]; //二级分类滑动到对应的区域         [_classCollectionView scrollToItemAtIndexPath...inSection:selectTableIndex] atScrollPosition:UICollectionViewScrollPositionTop animated:YES];         ///让collectionview...的滑动回退sectionheader的高度         _classCollectionView.contentOffset = CGPointMake(0, _classCollectionView.contentOffset.y

1.2K20

你可能需要为你的 APP 适配 iOS 11

,动画的操作是观察tableView的contentOffset变化后执行的,异常动画发生在tableView reloadData之后,也就是说tableView reloadData之后,tableView...的contentOffset发生了几次变化。...的环境下就要注意了,因为开启Self-Sizing之后,tableView是使用estimateRowHeight属性的,这样就会造成contentSize和contentOffset值的变化,如果是有动画是观察这两个属性的变化进行的...因为不会缓存正确的行高,tableView reloadData的时候,会重新计算contentSize,就有可能会引起contentOffset的变化。...滑动操作(Swipe Actions) 在iOS8之后,苹果官方增加了UITableVIew的右滑操作接口,即新增了一个代理方法(tableView: editActionsForRowAtIndexPath

1.7K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    你可能需要为你的 APP 适配 iOS11

    前言 前几天发现在做的APP在iOS11系统上动画有异常,在其他系统的设备上都是正常的,动画的操作是观察tableView的contentOffset变化后执行的,异常动画发生在tableView reloadData...之后,也就是说tableView reloadData之后,tableView的contentOffset发生了几次变化。...的环境下就要注意了,因为开启Self-Sizing之后,tableView是使用estimateRowHeight属性的,这样就会造成contentSize和contentOffset值的变化,如果是有动画是观察这两个属性的变化进行的...因为不会缓存正确的行高,tableView reloadData的时候,会重新计算contentSize,就有可能会引起contentOffset的变化。...5、滑动操作(Swipe Actions) 在iOS8之后,苹果官方增加了UITableVIew的右滑操作接口,即新增了一个代理方法(tableView: editActionsForRowAtIndexPath

    2.5K00

    iOS开发之多表视图滑动切换示例(仿头条客户端)---优化篇

    前几天发布了一篇iOS开发之多表视图滑动切换示例(仿"头条"客户端)的博客,之所以写这篇博客,是因为一位iOS初学者提了一个问题,简单的写了个demo做了个示范,让其在基础上做扩展和改进。...; 12 [_scrollView addSubview:tableView]; 13 } 14 15 }   上面的代码减少了TableView的实例化,那么我们如何进行复用呢...我是在ScrollView到达相应的页数时进行tableView的移动和数据的刷新。...在本Demo中是超过6个按钮就可以滑动,而6个以下是平分整个屏幕的宽度的。主要做的修改是把Button放到ScrollView上,找准时机,让ScorllView进行滑动。...发表博客的初衷是与大家进行交流和学习,而不是看一些人进行吐槽。问题是在所难免,希望大家能提出问题所在,给出自己的解决方案,进行交流,共同进步。下方是Demo运行的效果: ? ?

    2.1K70

    你可能需要为你的APP适配iOS11

    前言 前几天发现在做的APP在iOS11系统上动画有异常,在其他系统的设备上都是正常的,动画的操作是观察tableView的contentOffset变化后执行的,异常动画发生在tableView reloadData...之后,也就是说tableView reloadData之后,tableView的contentOffset发生了几次变化。...的环境下就要注意了,因为开启Self-Sizing之后,tableView是使用estimateRowHeight属性的,这样就会造成contentSize和contentOffset值的变化,如果是有动画是观察这两个属性的变化进行的...因为不会缓存正确的行高,tableView reloadData的时候,会重新计算contentSize,就有可能会引起contentOffset的变化。...滑动操作(Swipe Actions) 在iOS8之后,苹果官方增加了UITableVIew的右滑操作接口,即新增了一个代理方法(tableView: editActionsForRowAtIndexPath

    82920

    iOS 面试策略之系统框架-UIScrollView及其子类

    一般为了用户体验,我们会引入 navigationController,然后在导航栏的右上角添加 edit 按钮来让用户在普通和编辑模式中切换。 6....9.说说实现预加载的方法 关键词:#网络传输 #无限滚动 #Threshold 在实际开发中,列表经常需要随着滑动而不停的展示新的内容。在滑动到一定程度后,我们就需要发送网络请求,以获得新的数据。...而且代码量很大,所以我们这道题重在分析思路。假设我们已经有了 UICollectionView,现在要做的就是定制化每一个 cell,让他们的高度根据其实际内容设定,从而实现瀑布流。...高度我们可以先设定为 0,之后在 prepare() 里进行更新。 prepare()。该方法发生在 UICollectionView 数据准备好,但界面还未布局之时。...prepare() 完成布局之后该方法被调用,它决定了哪些 item 在 CollectionView 给定的区域内可见。我们只要取交集(intersect)即可。

    2.7K21

    关于首页设计框架和一些细节处理分析

    为什么不和上面的模块放在TableView 里面?...因为放在 TableView 随着滚动会刷新表格 对象会重新生成 很难和下面的频道页面联动 3 为什么整体不用 UICollectionView 上面是 Header?...因为下面的频道是横向滚动的 设置方向之后 UICollectionView 的 Header 就是在最左边 不是我们要的结果 ?...最后就做了判断 如果频道栏目没有在最上面 则强行设置下面滚动试图 ContentOffSet为{0,0} 把滑动的距离代理出去 让最外层的滚动试图做对应的滚动 ?...现在自己做了处理 终于达到了联动的效果了 4 上拉剩下10个商品时候要做 预加载请求 发现因为每次 reloadData 都会让滚动的位置回到之前的位置。

    81820

    iOS开发笔记(十一)— UITableView、ARC、xcconfig、Push

    正文 UITableView UITableView在reloadData 的时候,如果height的高度发生较大变化,contentOffset无法保持原来的大小时,会发生滚动的效果。...如果需要去除该滚动效果,可以在reloadData之后,调用scrollToRowAtIndexPath并设置animated:NO,最后再用setContentOffset:微调位置。...之后通过setContentOffset:微调位置。...一种方案是使用Target来解决,公用的部分设置在project,每个环境根据各自特点自定义某些设置;这样带来的后果是target数量增多明显,而target增多带来的后果是当需要新增extension...另外一种方案是使用Configuration来区分环境,而xcconfig就是用来管理Configuration的文件。 如何创建和使用xcconfig?

    1.8K20

    在iOS中怎样创建可展开的Table View?(下)

    开始我们需要知道点击行的索引(记住,不是实际的indexPath.row)而是可见cell的行索引,所以我们将会开始在下面的tableView代理方法里给它分配一个局部变量: func tableView...现在运行app.顶层的cell可以在点击之后展开或是合拢了,尽管点击子cell还没有发生任何改变,但结果令人印象深刻. ?...:cellForRowAtIndexPath: 函数里,我们必须让ViewController类实现自定义cell的代理方法.看这儿: func tableView(tableView: UITableView...接下来,让我们处理在cell的开关吧.当改变了开关的值,我们需要做两件事情:首先,设置合适的值("Single"或"Married"),显示到对应的顶级cell上;之后,在cellDescriptors...tableView的方法,主要的特点就是在一个plist文件中,所有cell的描述都使用具体的属性.我向你展示了当cell显示,打开或是选中的时候,如何使用代码处理cell的描述列表;此外,我给了你一个方法通过用户输入数据来直接更新它

    1.5K30

    iOS实例——滑动列表展现隐藏顶部视图

    要注意的是,设置contentoffset值必须在添加列表到self.view之后,否则无效,设置之后可能你会发现刚开始是好的,一点击列表内容就回到顶部了,别慌,那是之后会解决的问题: self.tableView...(0, -200)]; 我们的顶部视图要跟随列表滚动,就必须获知列表的滚动效果,这里我们在自定义的顶部视图类中加一个UIScrollView属性,在初始化的时候就将我们的列表赋给这个属性(UITableView...在处理方法中我们要做两件事,第一件事是让顶部视图的高度随着列表移动而移动,但是要控制列表最高移动到的位置TOP和最低移动到的位置BOTTOM,这其实就是顶部视图的低端对应的Y值。...第二件事是让顶部视图随着移动而渐变,当移动到最高时彻底透明,移动到最低时不透明,这个alpha值也是根据移动的值来计算的: - (void)updateSubViewsWithScrollOffset:...BOTTOM不变,往上滑的话是否低于TOP,是的话保持TOP,也就是最多滑到BOTTOM,最少有TOP newOffset = CGPointMake(newOffset.x, newOffset.y

    1.9K10

    iOS逆向(8)-Monkey、Logos

    那么是否一种工具,可以将重签名,代码注入,Hook源代码,class-dump,Cydia Substrate,甚至是恢复符号表这些功能,集成在一个工程里面,让真正的逆向小白也能享受逆向的乐趣呢?...而获取它的方法是: MSHookIvar UITableView *>(self,"_tabview") 一个reloadData的简单使用: [MSHookIvar UITableView *>(...self,"_tabview") reloadData]; 其他的UI代码在这里就不一一解释了,全部代码如下,当然在Demo中也是有的,其中包括了数据的简单持久化功能: #import (self,"_tabview") reloadData]; } //多少组 - (long long)numberOfSectionsInTableView:(id)arg1{ UITableView...6、为什么Monkey这么牛逼 查看重新编译后的app文件,可以发现其中的Framework多了很多东西: ?

    1.9K20

    iOS面向切面的TableView-AOPTableView

    这个是公司很久之前的开源项目,一个大牛写的,在项目中一直有在用,今天有空发了点时间看下如何实现,看了之后感觉挺有收获,故撰此文,分享给需要的同学。...[1240]  那么如何解决这个问题呢?如何使用一种不侵入业务的方式优雅的去解决这个问题呢?...答案就是使用AOP,让正常的业务和广告并行独立滴处理,下图就是使用AOP方式处理数据流中接入广告流程图 [1240] HOW DESIGN AOP TableView 该如何设计一个可用AOP的TableView...的reloadData,进行页面刷新 [self.aopUtils.tableView reloadData]; dispatch_after(dispatch_time(DISPATCH_TIME_NOW...:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { kAOPUICallingSaved;

    1K00

    iOS 开发:『Runtime』详解(二)Method Swizzling

    ---- 刚才我们简单演示了如何在当前类中如何进行 Method Swizzling 操作。但一般日常开发中,并不是直接在原有类中进行 Method Swizzling 操作。...这些注意事项并不是为了吓退初学者,而是为了更好的使用 Method Swizzling 这一利器。而至于方案的选择,无论是选择哪种方案,我认为只有最适合项目的方案才是最佳方案。 ---- 3....所以在 +load 方法进行 Method Swizzling 再好不过了。 而为什么不用 +initialize 方法呢。...所以,在使用 Method Swizzling 的时候,应该保持足够的谨慎。 例如,你在一个类中重写一个方法,并且不调用 super 方法,则可能会出现问题。...但就是工作量很大,需要在所有有按钮的地方添加代码。很不想承认:在之前项目中,我使用的就是这种方式。

    2K31

    优雅的处理网络数据,你真的会吗?不如看看这篇.

    案例分享 在现代的工作生活中,手机早已不是单纯的通信工具了,它更像是一个集办公,娱乐,消费的终端,潜移默化的成为了我们生活的一部分。...所以作为 iOS 开发者的我们,在日常的开发中,也早已不是处理显示零星的数据这么简单,为了流量往往我们需要在 App 里显示大量有价值的信息来吸引用户,如何优雅的显示这些海量的数据,考量的就是你的个人经验了...那关于无限滚动该如何实现呢!其实这个无限滚动并不是真正意义上的永无止尽,严格意义上来讲它是有尽头的,只不过这个功能背后的数据是不可估量的,只有大量的数据做支持才能让应用一直不断的从服务端获取数据。...当然前者也可以实现数据加载,但它的效果就不是无缝加载,它在每次加载数据的时候都会有一个 Loading 等待的时间。...如何避免滚动时的卡顿 当你遇到滚动卡顿的应用程序时,通常是由于任务长时间运行阻碍了 UI 在主线程上的更新,想让主线程有空来响应这类更新事件,第一步就是要将消耗时间的任务交给子线程去执行,避免在获取数据时阻塞主线程

    1.4K20

    iOS开发中行高灵活可变的UITableView的性能优化

    iOS系统还会有很大不同。...当执行TableView的reloadData方法进行界面刷新时,系统先会把所有行的行高数据拉取一遍,之后和UITableViewCell配置部分的场景一直,会拉取即将出现在屏幕上的cell的行高数据。...并且,每次拉取高度都从代理方法拉取,而不是存入内部的一个变量属性中,避免了因为数据源更改时机巧合而产生的界面与预期不一致的风险。...在iOS7系统之后,UITableView类中增加了一个estimatedRowHeight属性,顾名思义,这个属性是设置UITableViewCell中的大约行高值。...那么现在问题来了,如何才能让cell正确计算自己的高度,这就要使用到Autolayout了,无论是通过xib文件创建的cell还是代码创建的cell,若想让cell自动正确的计算出自身的高度,必须添加足够压力的约束

    2K20

    阅读器多种翻页的设计与实现

    ,当添加的view过多的时候会占用内存; UITableView用cell重复利用规避上面的局限,但是存在新的问题:当数据源(排版数据)变化时,需要频繁调用reloadData,造成性能瓶颈;同时reload...综上的分析,这里提供一个基于UIScrollView的方案,避免去手动计算速度,也可以及时回收内存,并且contentSize一直保持不变。...A: 在通过-setContentOffset:改变offset之后,仍会触发-scrollViewDidScroll:的回调,如果在此回调又触发了offset的改变,则进入了递归调用的坑,从下图的堆栈可以看到...,如何避免动画出现异常现象?...A: 这是因为pan手势在切后台时会自动cancel,所以需要在手势处理增加对cancel状态的处理; Q:如果初始化的时候,传进的VC.view不满一屏,该如何处理?

    3.4K10
    领券