使用导航栏中的编辑按钮获取子表视图

时间:2012-07-02 07:29:22

标签: iphone objective-c ios xcode

嗨我的观点中有一个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

设置。

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

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

谢谢! :)

3 个答案:

答案 0 :(得分:0)

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

[yourTableView setEditing:YES animated:YES];

您将此代码放在按钮操作中..所以您需要将代码更改为此类

UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editPressed)];

答案 1 :(得分:0)

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

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

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

您应该将名为new的变量重命名为其他内容!

答案 2 :(得分:0)

viewWillApear: ...

中设置此行
[super setEditing:NO animated:yes];

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

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

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