Вопрос по ipad, ios – UIToolbar не показывает UIBarButtonItem

20

Я использую раскадровку и разделенное представление, где ведущим является UITableViewController. Как и в приложении «Почта iPad», я бы хотел отобразить панель инструментов UITool.

Я не смог добавить панель инструментов через раскадровку, но мне удалось добавить ее программно. Я также могу добавить UILabel на панель инструментов, но я не могу найти способ добавить кнопку обновления или любой вид UIBarButtonItem.

Любая идея?

- (void)viewDidLoad {
  [super viewDidLoad];

  [self.navigationController setToolbarHidden:NO];

  UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(50.0f, 0.0f, 80.0f, 40.0f)];
  label.text = @"last updated...";
  label.textAlignment = UITextAlignmentCenter;
  label.font = [UIFont systemFontOfSize:13.0];
  [self.navigationController.toolbar addSubview:label];

  UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithTitle:@"Item" style:UIBarButtonItemStylePlain target:self action:@selector(action:)];
  UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithTitle:@"Item1" style:UIBarButtonItemStyleBordered target:self action:@selector(action:)];

  NSArray *buttons = @[item1, item2, nil];
  [self.navigationController.toolbar setItems:buttons animated:NO];

Ваш Ответ

1   ответ
56

Когда вы используете панель инструментов контроллера навигации, вы должны установить кнопки панели инструментов на Активный просмотр контроллераtoolbarItems свойство, а не на самой панели инструментов фактического контроллера навигации.

ОтUINavigationController документы:

Отображение панели инструментов

Объект контроллера навигации управляет необязательной панелью инструментов в своей иерархии представлений. При отображении эта панель инструментов получает свой текущий набор элементов изtoolbarItems свойство активного контроллера представления. Когда активный контроллер представления изменяется, контроллер навигации обновляет элементы панели инструментов, чтобы соответствовать новому контроллеру представления, анимируя новые элементы в положение при необходимости.

Например

[self setToolbarItems:buttons animated:NO];
Ты спас мой день !! .... Спасибо sheetal
Черт, спасибо !! Это сэкономило время! Благодарность yohannes

Похожие вопросы