0

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

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 我的 Done 按钮按预期显示在左侧,但 Edit 按钮再次出现在右侧。

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

4

1 回答 1

3

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

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

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

于 2009-07-10T12:56:32.690 回答