我遇到了一个问题,我有一个标签应用程序,其中我将第二个控制器作为导航控制器,然后将表格视图拖放到此处。
我的表格可以正常使用来自数据库的所有元素。
我的问题是我想要点击一个编辑按钮,表格进入编辑模式,并允许我从表格中删除行。我无法理解我是怎么做到的,我试过这个
- (void)viewDidLoad
{
self.navigationItem.rightBarButtonItem = self.editButtonItem;
[super viewDidLoad];
它会在导航控制器的右侧显示一个编辑按钮,但是当我单击它时,它不会在编辑模式下更改表格。
我知道我必须实现这个方法,但我不知道在这个
中写什么- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
}
在其他论坛的任何地方我找到了写的tableview -----,这个表视图是什么,它是UITableView类的一个实例?
帮我解决代码问题 请
答案 0 :(得分:0)
您可以删除setEditing:animated:
或致电super
。 UITableViewController
的默认实现已将其表视图置于编辑模式,因此您不必自己执行此操作。你在这里做的是用一个什么都不做的方法来覆盖这种行为。
答案 1 :(得分:0)
您必须在 - (void)viewDidLoad
中指定以下按钮self.navigationItem.rightBarButtonItem = self.editButtonItem;
然后实现以下方法:
// Override to support conditional editing of the table view.
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
// Return NO if you do not want the specified item to be editable.
return YES;
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleNone;
}
- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
return NO;
}