2011-01-29 2 views
4

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

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

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

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

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

ответ

4

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

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

self.navigationController.toolbarHidden = YES; 
2

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

Смежные вопросы