//1、 是否支持移动
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
//2、 移动行操作
-(void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath{
// 这里其实就是数组中两个变量交换位置的过程 id object = [self.dataArray objectAtIndex:fromIndexPath.row];
[self.dataArray removeObjectAtIndex:fromIndexPath.row];
[self.dataArray insertObject:object atIndex:toIndexPath.row];
}
cell侧滑
- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath{
NSString *topTitle ,*readTitle;
XZGroup *group = self.dataArray[indexPath.row];
topTitle = group.isTop ? @"取消置顶" : @"置顶";
readTitle = group.unReadCount ? @"标为已读" : @"标为未读";
//设置删除按钮
UITableViewRowAction * deleteRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"删除" handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
[self deleteLocalGroupWithIndexPath:indexPath];
}];
//置顶
UITableViewRowAction * topRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:topTitle handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
[self setTopCellWithIndexPath:indexPath currentTop:group.isTop];
}];
//标记已读
UITableViewRowAction * collectRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:readTitle handler:^(UITableViewRowAction * _Nonnull action, NSIndexPath * _Nonnull indexPath) {
[self markerReadWithIndexPath:indexPath currentUnReadCount:group.unReadCount];
}];
collectRowAction.backgroundColor = [UIColor grayColor];
topRowAction.backgroundColor = [UIColor orangeColor];
return @[deleteRowAction,topRowAction,collectRowAction];
}