嗨我的观点中有一个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显示红色圆圈。
如果我不清楚,我很抱歉。如果您需要任何澄清,请询问我。
谢谢! :)
答案 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];
希望这会对你有帮助.....