我正在尝试从UITableViewCell
删除UITableView
。
已对UITableViewDelegate
实施UITableViewDataSource
,UIViewController
。
同时实现需要为上述委托定义的所有方法,例如
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath;
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath;
将UITableView也设置为编辑模式,
[tableView setEditing:YES animated:YES];
当我点击删除按钮在编辑模式下设置tableView时,我可以看到'-ignign红色按钮但是当我点击该按钮时无法看到“删除”按钮时,也无法看到在细胞上滑动时。
我浏览了 stackoverflow 中的所有帖子,但无法获得解决方案。
提前致谢。
答案 0 :(得分:2)
我认为你错过了 tableView:editingStyleForRowAtIndexPath 方法。尝试将以下代码添加到您的实现中。
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewCellEditingStyleDelete;
}
答案 1 :(得分:0)
继承人我用来实现这个目标:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{
[myArray removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
答案 2 :(得分:0)
请删除
[tableView setEditing:YES animated:YES];
并使用此方法
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
// Return YES if you want the specified item to be editable.
return YES;
}
并对删除按钮执行操作 - (void)tableView:(UITableView *)tableView commitEditingStyle:
(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
//add action on delete button
}
答案 3 :(得分:0)
此方法用于在滑动选定的TableViewCell时显示删除按钮。
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView
editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
}
此方法将在滑动TableViewCell
时执行点击删除按钮的操作- (void)tableView:(UITableView *)tableView
commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath {
}
此方法将在从表视图中删除行
后更新tableview- (void)tableView:(UITableView *)tableView
didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath {
}