Нежелательная кнопка Изменить на панели навигации? - PullRequest
0 голосов
/ 10 июля 2009

В моем приложении есть следующий код для отображения модального вида:

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 Ответ

3 голосов
/ 10 июля 2009

Убедитесь, что в вашем -ViewDidLoad методе InfoTableViewController вы не устанавливаете правую кнопку для кнопки редактирования.

В коде заглушки подкласса UITableViewController по умолчанию есть закомментированная строка, которая делает это. Возможно, вы случайно откомментировали это?

Установка его в -viewDidLoad будет выполняться после того, как вы уже установили его во включенном здесь коде, так как метод не будет работать до тех пор, пока viewController фактически не будет загружен (т.е. когда вы представите его модально).

...