Как добавить UIBarButtonItem в UIToolBar в коде

у меня есть стандартный UIBarButtonItem

UIBarButtonItem *share = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(share:)];

Как добавить ее в UIToolBar? Я пытался

    self.toolbarItems = [NSArray arrayWithObject:share];

но это не работает. Нужна твоя помощь.

4 ответов


можете ли вы быть более конкретным, чем "это не работает"?

Если вы пытаетесь добавить элемент на панель инструментов, на которой уже есть элементы, вам нужно изменить массив элементов:

NSMutableArray *newItems = [self.toolbarItems mutableCopy];
[newItems addObject:share];
self.toolbarItems = newItems;

убедитесь, что у вас есть панель инструментов либо IBOutlet, либо добавлена панель инструментов программно

IBOutlet UIToolbar *toolBar;

UIBarButtonItem *infoButtonItem=[[UIBarButtonItem alloc]initWithTitle:@"info" style:UIBarButtonItemStyleBordered  target:self action:@selector(infoButtonClicked)];

toolBar.items = [NSArray arrayWithObjects:infoButtonItem, nil];

убедитесь, что панель инструментов не скрыта; вы можете попробовать добавить следующее вviewWillAppear:animated: способ:

[self.navigationController setToolbarHidden:NO animated:YES];

[toolbar setItems:[NSArray arrayWithObject:share] animated:YES];