我们在使用一些应用的时候,在滑动一些联系人的某一行的时候,会出现删除、置顶、更多等等的多个按钮,在iOS8之前,我们都需要自己去实现。iOS8之后,只需要一个tableView代理方(tableView:editActionsForRowAtIndexPath:)和一个类(UITableViewRowAction)就可以了。该代理返回的是一个带有UITableViewRowAction的NSArray,自定义设置rowAction之后,之前的delete就会消失。rowAction可以设置style、title、backgroundColor、backgroundEffect,在block中实现点击事件。
以下是创建rowAction的方法和常用属性:
UITableViewRowAction *deleteRowAction = [UITableViewRowActionrowActionWithStyle:UITableViewRowActionStyleDefaulttitle:@"删除"handler:^(UITableViewRowAction *action,NSIndexPath *indexPath) {
[self.arrremoveObjectAtIndex:indexPath.row];
[self.tableViewdeleteRowsAtIndexPaths:@[indexPath]withRowAnimation:UITableViewRowAnimationTop];
}];
deleteRowAction.