Метод делегата вызван для rightBarButtonItem из UIBarButtonItem - PullRequest
0 голосов
/ 11 февраля 2011

Какой метод делегата вызывается при нажатии rightBarButtonItem в UIBarButtonItem?Я хочу выполнить там конкретное действие.

Ответы [ 2 ]

3 голосов
/ 11 февраля 2011

Нет предопределенного метода делегата. Вам нужно установить делегат / действие (аналогично UIControl). Например, создайте UIBarButtonItem в viewDidLoad следующим образом:

self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Mark"                               style:UIBarButtonItemStylePlain  target:self action:@selector(actionForTap:) autorelease];

и реализуйте actionForTap: в вашем контроллере представления. Если у вас уже есть UIBarButtonItem, вы можете установить цель / действие в соответствии с желаемым методом делегата, например ::

self.navigationItem.rightBarButtonItem.target = self;
self.navigationItem.rightBarButtonItem.action = @selector(actionForTap:);

В качестве третьего способа вы можете настроить его в IB (но я туда не пойду).

0 голосов
/ 11 мая 2012

Вам не нужен какой-либо метод делегата. Вы можете просто использовать приведенный ниже код. Это код для простого добавления кнопки справа и добавления действия к этой кнопке. В моем случае я вызвал метод с именем «AddButtonMethod».

UIBarButtonItem *AddButton = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(AddButtonMethod:)];
self.navigationItem.rightBarButtonItem = AddButton;
...