iOS - tableViewCell 收起、展开 (最后一组展开, tableview自动上移)

前言:

最近做商城项目时候,做到tableViewCell 的展开和收缩的时候遇到一个问题,就是当一行在 tableview 底部时候, tableview 默认是不是会上移的,这样展开的内容就会被遮挡,看不到效果,出现的问题如下图:

Untitled02.gif

想实现的效果是:如果展开的是一列在 tableView 的底部的时候,tableView 会自动上移,这样就可以看到展开的内容,效果如:

Untitled01.gif
分析:

我项目中实现的思路是 购买套餐 是个 label 然后加了点击手势来监听点击事件的,然后可以拿到点击的位置,判断在是不是在 tableView 的最后一行的范围内,如在的话就让 tableview 上移一个列的高度
具体的实现代码:

 CGPoint point = [recognizer locationInView:self.tableView];
    CGFloat point_y = point.y;
    // 96 是每组的高度
    if (point_y > self.tableView.frame.size.height - 96) { // 点击是最最后一行
        
        // 每组下的分行的高度是 60 加上间隔和"购买服务"几个字的高度 = 80
       [self.tableView  setContentOffset:CGPointMake(0, self.tableView.contentOffset.y + 80)];
    }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,132评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,223评论 4 61
  • 从早到晚 我都在等 有人说会来 有人说要来 有人想来 有人说离开去找 然而天黑了 灯亮了 人都没有来 我要走了 你...
    小烈呐阅读 263评论 0 1
  • 九月是一个收获的季节,硕果飘香,祝福飞扬。在这秋韵荡漾的日子里,资中县重龙镇中心学校全体师生迎来了第33个...
    重龙镇中心学校陈欢欢阅读 552评论 0 2
  • 人最难就是认识自己了,总觉得自己啥都对! 今天发现一件事情,特别好笑。我们一上车,叮咚!么有油撩!于是我说得去加油...
    榄娘阅读 347评论 5 2