用recursiveDescription解剖cell

一直眼红Swipes这个App做的真是舒服, 读了大牛们关于自定义cell的框架发现都执着于给cell加button, 不能哧溜哧溜地往左滑, 就寻思着做一个顺滑的cell。断断续续写了两天眼看就要写完了, 然而往左滑的动画却一直是不如人意的 :(


想了想是不是左滑的时候系统的Delete按钮在作祟, 于是

tableView:cellForRowAtIndexPath:方法里加入

#ifdef DEBUG
    NSLog(@"===cell===", [cell performSelector:@selector(recursiveDescription)]);
#endif

tableView:commitEditingStyle:forRowAtIndexPath:方法里加入

#ifdef DEBUG
    NSLog(@"===tableview===", [[tableView cellForRowAtIndexPath:indexPath] performSelector:@selector(recursiveDescription)]);
#endif
  • recursiveDescription这是一个私有方法, 用来打印任意的视图结构, 并按视图层次排列, 它会递归地做这件事, 对每个子视图, 再去找它们的子视图(比用Reveal查看视图结构更完整)。
  • Release是发行版本,不包含任何调试信息, Debug是调试版本,Debug和Release调用两个不同的底层库。 在大工程里调试时把NSLog()夹在#ifdef DEBUG#endif中间,NSLog()只有在调试时才会被编译, 省去很多麻烦。
    控制台输出cell所有子视图

    控制台输出tableView所有子视图

    一共输出了六个视图:
    其中UITableViewCellDeleteConfirmationViewActionButton(删除按钮)放置的位置, 宽高和Button一样。这是我要找的view! :)
    不过......没开canEditRowAtIndexPath:方法是不会有这个view的。
    嗯一个cell就是这样的干干净净
蓝色是contentView、紫色是cell背景色

附顺滑的cell框架:https://github.com/7937/AJSlideCell.git

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

推荐阅读更多精彩内容

  • 1.badgeVaule气泡提示 2.git终端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夹内容...
    i得深刻方得S阅读 4,775评论 1 9
  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 9,093评论 3 38
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,261评论 4 61
  • 我,普通二本的大二学生。距离开学刚刚三天。大一的生活自我感觉浑浑噩噩,是无知还是太自卑?我体重大身高矮,从高中毕业...
    相信美好m阅读 260评论 0 0
  • 今天接到孩子学校老师短信,说接孩子放学先她下,想想也知道啥事,最近孩子学习自觉力不高,成绩直线下滑,老师不找才怪。...
    郑静阅读 172评论 0 0