
IM即时通讯
安全可靠、全球互通

实时音视频
流畅稳定、省钱省力
回答:
重写 UITableView 的代理方法,实现“置顶”和“删除”功能。(由于重写代理方法,SDK 父类中的“删除”功能失效)
- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath { RCConversationModel *model = self.conversationListDataSource[indexPath.row]; NSString *topStr = @"置顶"; if (model.isTop == YES) { topStr = @"取消置顶"; } __weak typeof(self) __weakself = self; UITableViewRowAction *action0 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleNormal title:topStr handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) { BOOL isSuccess = [[RCIMClient sharedRCIMClient] setConversationToTop:model.conversationType targetId:model.targetId isTop:!model.isTop]; [__weakself refreshUI:isSuccess]; }]; action0.backgroundColor = [UIColor orangeColor]; UITableViewRowAction *action1 = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"删除" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) { BOOL isSuccess = [[RCIMClient sharedRCIMClient] removeConversation:model.conversationType targetId:model.targetId]; [__weakself refreshUI:isSuccess]; }]; return @[action1, action0]; } - (void)refreshUI:(BOOL)isSuccess { __weak typeof(self) __weakself = self; if (isSuccess) { [__weakself refreshConversationTableViewIfNeeded]; } else { NSLog(@"操作失败"); } }
效果图: