0

我遇到了一个问题,我有一个选项卡应用程序,在其中我将第二个控制器作为导航控制器,然后在上面拖放一个表格视图。

我的表与来自数据库的所有元素一起工作正常。

我的问题是单击时我想要一个编辑按钮,表格进入编辑模式并允许我从表格中删除行。我无法理解我该怎么做我试过这个

- (void)viewDidLoad
{

      self.navigationItem.rightBarButtonItem = self.editButtonItem;



    [super viewDidLoad];

它在导航控制器的右侧带来了一个编辑按钮,但是当我单击它时,它不会在编辑模式下更改表格。

我知道我必须实现这个方法,但我没有得到要写的内容

- (void)setEditing:(BOOL)editing animated:(BOOL)animated {

}

我在其他论坛上到处都能找到写的 tableview -----,这个 table view 是什么,它是 UITableView 类的实例吗?

请帮我解决代码问题

4

2 回答 2

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;
}
于 2012-07-26T01:15:21.897 回答
0

您可以删除您的setEditing:animated:或调用super. 的默认实现UITableViewController已经将其表格视图置于编辑模式,因此您不必自己这样做。你在这里所做的是用一个什么都不做的方法来覆盖这个行为。

于 2012-07-26T01:11:54.767 回答