Как сделать UIBarButtonItem таким образом - PullRequest
3 голосов
/ 09 июня 2011

Как сделать UIBarButtonItem следующим образом: enter image description here

Я не могу найти его в значениях SystemItem.

Спасибо

Ответы [ 3 ]

18 голосов
/ 09 июня 2011

Кнопка изображения, которую вы называете информационной кнопкой. Это системная кнопка,

Используйте ниже, чтобы получить его как rightBarButtonItem

UIButton* myInfoButton = [UIButton buttonWithType:UIButtonTypeInfoLight]; 
[myInfoButton addTarget:self action:@selector(InfoButtonClicked:) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:myInfoButton];

Вот ссылка на документацию к UIButtonType

7 голосов
/ 09 июня 2011

Это, вероятно, использует что-то вроде:

[[UIBarButtonItem alloc] initWithImage:@"info.png" style:UIBarButtonItemStyleBordered target:nil action:nil]

Я пытался с:

UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:[UIButton buttonWithType:UIButtonTypeInfoLight]];
item.style = UIBarButtonItemStyleBordered;

но кажется, что при использовании пользовательского вида стиль рамки не применяется.

1 голос
/ 11 января 2016

Версия Свифта ответа @ Джалии для быстрого копирования-вставки:

let infoButton = UIButton(type: .InfoLight)

infoButton.addTarget(self, action: "InfoButtonClicked:", forControlEvents: .TouchUpInside)

let infoBarButtonItem = UIBarButtonItem(customView: infoButton)

navigationItem.rightBarButtonItem = infoBarButtonItem
...