UIToolbar: setItems и UINavigationController setToolbarItems - PullRequest
0 голосов
/ 22 сентября 2010

Я получил следующее:

@interface A : UIViewController {
}

@property (nonatomic, assign) UIToolbar *toolBar;
@end

Здесь свойство 'toolBar' может быть установлено снаружи для указания на внешне созданную панель UIToolbar ИЛИ оно может указывать на панель инструментов navigationController.

Я хочу установить элементы панели инструментов независимо от того, на что указывает панель инструментов. Я пытаюсь следующее безуспешно:

    NSMutableArray *buttons = ...
    ...
    UIBarButtonItem *item = ...
    [buttons addObject:item];
    ...
//I know this are the same but...
    [self.toolBar setItems:buttons];
    self.toolBar.items = buttons;

Есть идеи?

Ответы [ 2 ]

4 голосов
/ 14 августа 2013

[self.navigationController.visibleViewController setToolbarItems:@[button1, button2, button3]];

Кажется, работает, если вы установили ToolbarItems на visibleViewController.

0 голосов
/ 22 сентября 2010

Возможно, вы столкнулись с этой проблемой, потому что, по крайней мере, в случае использования UINavigationController элементы панели инструментов будут получены из UIViewControllers, которые помещаются в стек через их свойство toolbarItems.

ИЗМЕНЕНО после комментария ...

Я говорю, что вы не можете сделать это:

self.toolBar = self.navigationController.toolbar;
self.toolBar.items = buttons;

Когда ваш контроллер представления находится в UINavigationController, вы должны сделать:

self.toolbarItems = buttons; // OR [self setToolbarItems:buttons animated:YES];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...