[英]ios How to put custom controller redirect obj-c code in custom view
[英]iOS/Obj-C - Implement UITableViewCellEditingStyleDelete on one tableview in View Controller?
我在一个视图控制器中有三个表视图(它们的可见性由段控件控制)。 也就是说,我只希望单元格可以选择从 self.friendsView 中删除,而不是其他 tableviews。 我的视图控制器中有以下代码,但是在我的所有三个 tableview 上都可以看到滑动和删除单元格的功能,而不仅仅是 self.friendsView。 我怎样才能解决这个问题?
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView == self.friendsView) {
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete the row from the data source
NSMutableDictionary *nodeData = [[self.myFriendData objectAtIndex:indexPath.row] mutableCopy];
NSString *nid = [nodeData objectForKey:@"nid"];
[nodeData setObject:nid forKey:@"nid"];
NSLog(@"%@",nid);
[self.myFriendData removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
[DIOSNode nodeDelete:nodeData success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"node deleted!");
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"could not delete node!");
}];
}
}
}
除了实现commitEditingStyle
之外,您还需要实现editingStyleForRowAtIndexPath
委托方法。
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
if (tableView == self.friendsView) {
return UITableViewCellEditingStyleDelete;
} else {
return UITableViewCellEditingStyleNone;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.