如何使用编辑功能

时间:2012-07-26 01:03:24

标签: objective-c ios xcode4

我遇到了一个问题,我有一个标签应用程序,其中我将第二个控制器作为导航控制器,然后将表格视图拖放到此处。

我的表格可以正常使用来自数据库的所有元素。

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

- (void)viewDidLoad
{

      self.navigationItem.rightBarButtonItem = self.editButtonItem;



    [super viewDidLoad];

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

我知道我必须实现这个方法,但我不知道在这个

中写什么
- (void)setEditing:(BOOL)editing animated:(BOOL)animated {

}

在其他论坛的任何地方我找到了写的tableview -----,这个表视图是什么,它是UITableView类的一个实例?

帮我解决代码问题 请

2 个答案:

答案 0 :(得分:0)

您可以删除setEditing:animated:或致电superUITableViewController的默认实现已将其表视图置于编辑模式,因此您不必自己执行此操作。你在这里做的是用一个什么都不做的方法来覆盖这种行为。

答案 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;
}