0

嗨,我有tableView我的看法。但我希望导航栏中的编辑适用于 tableView。你能告诉我怎么做吗?

我为主视图设置了导航栏,并且也进行了tableView设置。

我做了一个创建导航栏的方法:

- (UINavigationBar *)createNavigationBar
{
UINavigationItem *title = [[UINavigationItem alloc] initWithTitle:@"Task Manager"];
UINavigationBar *new = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];

UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:nil];
title.leftBarButtonItem = addButton;
[new pushNavigationItem:title animated:YES];
UIColor *color = UIColorFromRGB(0xff8c00); // Dark orange
new.tintColor = color;
return new;
}

我有

 - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath

设置为好。

当我点击主导航栏中的编辑按钮时,我基本上需要为 sub-tableView 出现红色圆圈。

如果我不清楚,我很抱歉。如果您需要任何澄清,请询问我。

谢谢!:)

4

3 回答 3

0

你只需要让你的 tableView 处于编辑模式..你可以这样做

[yourTableView setEditing:YES animated:YES];

你将把这段代码放在你的按钮动作中..所以你需要把你的代码改成这样

UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editPressed)];
于 2012-07-02T07:36:08.580 回答
0

您应该有一个 BOOL 变量来存储当前的编辑状态和一个函数 ( addTarget) 到编辑按钮,它将基于此变量将表格置于编辑模式,如下所示:

-(IBAction) editWasPressed:(id)sender
{
    editMode = ! editMode;

    if(editMode) 
    {
        [table setEditing:YES animated:YES];
    }
    else
    {
        [table setEditing:NO animated:YES];
    }
}

您应该将该变量重命名new为其他名称!

于 2012-07-02T07:37:37.013 回答
0

在你的视图中画出这条线WillApear: ...

[super setEditing:NO animated:yes];

然后在您的editWasPressed:方法中...

[my_table setEditing:!my_table.editing animated:YES];

希望对你有帮助.....

于 2012-07-02T08:10:20.527 回答