Программное изменение свойства идентификатора UIBarButtonItem - PullRequest
5 голосов
/ 11 июля 2009

Через Interface Builder у меня есть возможность изменить Идентификатор UIBarButtonItem на что-то вроде «Добавить» (или «Отменить», «Повторить» и т. Д.). Это дает моей кнопке красивое изображение "+".

Как я могу установить это программно? UIBarButtonItem не принимает сообщение "setIdentifier".

Ответы [ 3 ]

6 голосов
/ 11 июля 2009

После создания «Идентификатор» UIBarButtonItem не может быть изменен. Однако пользовательский интерфейс можно изменить, заменив кнопку программно сконструированным вариантом. Например:

UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd 
                                                                           target:self 
                                                                           action:@selector(doAddAction:)];
2 голосов
/ 30 ноября 2011

Если вы хотите одну кнопку стиль: окаймленный и идентификатор: использование камеры

UIBarButtonItem *btn;
btn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(shotAction:)];
btn.style=UIBarButtonItemStyleBordered;
0 голосов
/ 16 июня 2014

После того, как UIBarButtonItem создан, невозможно изменить идентификатор. Однако вы можете создать новый UIBarButtonItem для замены старого UIBarButtonItem

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

self.navigationItem.rightBarButtonItem = barButton;
...