Как поставить кнопку «информация» на навигационную панель iPhone? - PullRequest
19 голосов
/ 20 августа 2009

Я хочу поставить кнопку «i» на панели навигации (на всех экранах, на которых отображается панель навигации). Прикосновение к этой кнопке должно вызвать представление (возможно модальное), в котором я могу иметь элементы управления. Как поставить кнопку на панели навигации и как мне выполнить обратный звонок?

Ответы [ 2 ]

65 голосов
/ 21 августа 2009

Код кнопки информации:

UIButton* infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight];
    [infoButton addTarget:self action:@selector(infoButtonAction) forControlEvents:UIControlEventTouchUpInside];
    UIBarButtonItem *modalButton = [[UIBarButtonItem alloc] initWithCustomView:infoButton];
    [self.navigationItem setLeftBarButtonItem:modalButton animated:YES];
    [modalButton release];

Код выше вызывает метод - (void) infoButtonAction. Добавьте это ко всем вашим ViewControllers или просто создайте один .nib и используйте его для всех ваших представлений.

10 голосов
/ 27 июля 2015

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

enter image description here

Затем вы можете изменить свойство типа вашей кнопки на информационный свет | темно из атрибута инспектора.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...