iOS仿QQ左滑多个按钮

(原创博客,如将转载烦请备注出处)

iOS版本的QQ左滑会出现‘置顶’、‘删除’等多个按钮,产生左划动作cell会向左滑动,在cell已经是出现多个操作按钮的情况下点击或产生右滑动作cell都会复位。

以前我的第一想法和做法是:自定义cell,在cell上放一个scrollview,根据手势来判别相应操作,加上一些动画,可是这样的做法很难达到很和谐,如系统动画那般丝滑。

下面我要给大家介绍PTLestSlideTableView。PTLestSlideTableView是继承了UITableView,并开放出按钮相关配置接口。

直接定义一个成员属性PTLeftSlideTableView *tableView

@property (nonatomic, strong) PTLeftSlideTableView *tableView;

在初始化的时候可以定义好相关属性

- (PTLeftSlideTableView *)tableView{

        if (!_tableView) {

                _tableView = [[PTLeftSlideTableView alloc]initWithFrame:self.view.frame];

                _tableView.PTdelegate = self;

                _tableView.PTdataSource = self;

                _tableView.btnFont = 11.0;

                _tableView.btnWidth = 74.0;

                _tableView.editingArr = @[@"置顶",@"删除"];

                _tableView.editingBgColorArr = @[[UIColor yellowColor],[UIColor redColor]];  

               _tableView.editingTColorArr = @[[UIColor blueColor],[UIColor blackColor]];

}

return _tableView;

}


然后剩下的就跟平时使用uitableview一样了。

接下来来讲讲PTLeftSlideTableView的实现原理。

因为uitableviewcell的编辑操作其实就是cell的左平移,即cell.frame的改变,由此想到了KVO机制。PTLeftSlideTableView正是运用KVO,在cell的frame发生改变时平铺一个view在显现出来的UITableViewCellDeleteConfirmationView上方。

效果如下:


PTLeftSlideTableView下载地址 

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

推荐阅读更多精彩内容

  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 9,092评论 3 38
  • 1.nav1.navigationBar.barStyle=UIBarStyleBlack; //改变导航栏背景颜...
    SadMine阅读 1,636评论 1 4
  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,553评论 1 14
  • 细虬枝上初香蕊,绣帘阶下云鬓睡。风和日暖含章殿,成五出花暗香坠。青楼花阁仿寿阳,信手拂来梅花妆。一树冰骨迎面开,时...
    霍大少阅读 985评论 4 0
  • 今天大约是今年雪季最后一次滑雪了。忽然觉得滑雪真是一件奇妙的事情,感觉它能帮助你脱离生活的烦恼,一天前还会难过伤心...
    明记余心阅读 137评论 0 0