swipecell样式_使用MGSwipeTableCell遇到的问题

MGSwipeTableCell(用于cell侧滑按钮设置):

github下载地址:https://github.com/MortimerGoro/MGSwipeTableCell

使用方法可见企鹅的简书:http://www.jianshu.com/p/25908a61f849

在使用MGSwipeTableCell这个库的时候,我遇到了两个问题:

一、我直接把项目的Cell的父类从tableviewcell改为了MGSwipeTableCell,结果导致侧滑有时会正常显示,有时会只显示文字。

会被影响的代理方法:

1.(NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath —— ios 8.0后侧滑菜单的新接口,可支持多个侧滑按钮(只能支持文字不能支持图片有点难受)。

2.(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath —— 这个回调决定了在当前indexPath的Cell是否可以编辑。

3.(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath —— 这个回调可以返回Cell的编辑样式。

4.(nullable UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(tvos) —— iOS 11 提供的新的代理方法.新的方法提供了:左侧按钮自定义、右侧按钮自定义、自定义图片、背景颜色,通过 UIContextualAction 来设置.

tableView的编辑模式可以参考秋刀生鱼片的文章:http://www.jianshu.com/p/f65ca53fc9ba

二、此外还碰到了Cell重用机制产生的问题,

现象:在第一个cell上设置的按钮block内的事件(比如输出1),会在第1+N,1+2N,1+3N…上重现(同样会输出1,而不会输出1+n)。

原因:使用block建立侧滑按钮时,按钮绑定的cell是固定的,重用的使用依旧会使用这个按钮,结果会和预期不符合。

具体改法和原理请见:https://www.cnblogs.com/yangkun852/p/5369943.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值