Добавить кнопку на панель инструментов навигации - PullRequest
1 голос
/ 18 февраля 2011

Как добавить кнопку на панель инструментов навигации в приложении, основанном на навигации?

По умолчанию rootController - это tableView, и это прекрасно.Я хотел бы добавить кнопку «поделиться» к контроллеру навигации, чтобы я мог прикрепить ее к своему собственному методу.

Как это сделать, если панель навигации добавлена ​​в код где-то?

Ответы [ 4 ]

4 голосов
/ 18 февраля 2011

Чтобы сделать это в коде, перейдите к методу viewDidLoad ваших представлений и создайте UIBarButtonItem

. Этот код создаст кнопку с надписью «поделиться», как вы хотели, и поместите ее справа отпанель навигации.

- (void)viewDidLoad {
     [super viewDidLoad];
     UIBarButtonItem *shareButton = [[UIBarButtonItem alloc] initWithTitle:@"Share"     style:UIBarButtonItemStyleBordered target:self action:@selector(share)];

    self.navigationItem.rightBarButtonItem = shareButton;
    [shareButton release];
}
1 голос
/ 18 февраля 2011
UIBarButtonItem *shareButton = [[[UIBarButtonItem alloc] initWithTitle:@"Share" style:UIBarButtonItemStylePlain target:self action:@selector(yourShareAction)] autorelease];


self.navigationItem.rightBarButtonItem = shareButton;
0 голосов
/ 18 февраля 2011

Вы можете создать UIBarButtonItem и прикрепить его к элементу навигации контроллера корневого представления.Вы добавляете пару «цель-действие» при инициализации объекта UIBarButtonItem, и это сообщение о действии будет отправлено цели при нажатии пользователем кнопки.

Так что если вы хотите кнопку при отображении представления таблицы,установите UIBarButtonItem в свойстве navigationItem.rightBarButtomItem контроллера табличного представления.

0 голосов
/ 18 февраля 2011

Это делает кнопку добавления, но вы поняли идею.

self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc]
  initWithBarButtonSystemItem:UIBarButtonSystemItemAdd 
  target: 
  self action:@selector(buttonPressed:)] 
  autorelease];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...