Кнопки UIToolbar исчезают при добавлении нового вида в стек навигации - PullRequest
4 голосов
/ 29 января 2011

У меня есть приложение для iPhone, основанное на UINavigationController с UIToolbar внизу с различными кнопками в нем, которые я создал с помощью Interface Builder. Когда я использую [navigationController pushViewController:animated:], мой новый вид вставляется на место, как и ожидалось, но затем все кнопки исчезают с панели инструментов - сама панель инструментов остается видимой, она просто полностью пуста.

Как мне заставить кнопки оставаться на месте?

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

- (IBAction)clickSettings:(id)sender {
    NSLog(@"Clicked on 'Settings' button");

    SettingsViewController *settingsViewController = [[SettingsViewController alloc] initWithNibName:@"Settings" bundle:nil];
    [navigationController pushViewController:settingsViewController animated:YES];
}

Ответы [ 2 ]

4 голосов
/ 29 января 2011

Кнопки панели инструментов являются свойством данного представления;когда вы помещаете новый вид в стек навигации, кнопки панели инструментов нового вида сдвигаются на место.

Кажется, сама панель инструментов «принадлежит» контроллеру навигации;видимость панели инструментов контролируется свойством UINavigationController toolbarHidden, т. е.

self.navigationController.toolbarHidden = YES;
2 голосов
/ 29 января 2011

Чтобы фактически сохранить панель инструментов от одного вида к другому, вы можете скопировать свойство toolbarItems из одного UIView в другое.

...