Подтвердить что ты не робот

Как я могу поместить кнопку "info" на панели навигации iPhone?

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

4b9b3361

Ответ 1

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

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 и используйте это для всех своих просмотров.

Ответ 2

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

введите описание изображения здесь

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

введите описание изображения здесь