导航栏中的“不需要的编辑”按钮?

时间:2009-07-10 10:35:13

标签: iphone uibarbuttonitem uibarbuttonitemstyle

我的应用程序中有以下代码来显示模态视图:

InfoTableViewController *infoTableViewController = [[[InfoTableViewController alloc] initWithNibName:nil bundle:nil] autorelease];
infoTableViewController.title = @"Pirateometer";
infoTableViewController.navigationItem.rightBarButtonItem =
    [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
        target:self action:@selector(dismissInfo)] autorelease];

navController = [[UINavigationController alloc] initWithRootViewController:infoTableViewController];
[self presentModalViewController:navController animated:YES];
[navController retain];

然而,当我跑步时,而不是导航栏右侧的完成按钮,我有一个编辑按钮。如果我将.rightBarButton更改为.leftBarButton,我的完成按钮会按预期显示在左侧,但是编辑按钮再次出现在右侧。

我应该在代码中专门删除这个不需要的编辑按钮,还是我做错了让它出现在第一位?如果我必须删除它,我该怎么做呢?

1 个答案:

答案 0 :(得分:3)

确保在InfoTableViewController的-viewDidLoad方法中,您没有将右键设置为编辑按钮。

在默认的UITableViewController子类存根代码中,有一个注释掉的行可以执行此操作。也许你不小心取消了它?

在-viewDidLoad中设置它将在你已经在你的包含代码中设置之后执行,因为该方法在viewController实际加载之前不会运行(即当你以模态方式呈现它时)。