iOS
UIBarButtonItem
Поиск…
параметры
параметр | Описание |
---|---|
заглавие | Название UIBarButtonItem |
стиль | Стиль UIBarButtonItem |
цель | Объект для получения действия UIBarButtonItem |
действие | Селектор (метод), который должен выполняться при нажатии кнопки UIBarButtonItem |
замечания
Ссылка на self.navigationItem
предполагает, что UIViewController встроен в UINavigationController.
Создание UIBarButtonItem
//Swift
let barButtonItem = UIBarButtonItem(title: "Greetings!", style: .Plain, target: self, action: #selector(barButtonTapped))
self.navigationItem.rightBarButtonItem = barButtonItem
//Objective-C
UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Greetings!" style:UIBarButtonItemStylePlain target:self action:@selector(barButtonTaped)];
self.navigationItem.rightBarButtonItem = barButtonItem;
Создание UIBarButtonItem в построителе интерфейса
В приведенном ниже примере показано, как добавить кнопку панели навигации (называемую UIBarButtonItem
) в Interface Builder.
Добавьте контроллер навигации на свою раскадровку
Выберите свой контроллер просмотра, а затем в меню Xcode выберите « Редактор»> «Вставить»> «Контроллер навигации» .
Кроме того, вы можете добавить UINavigationBar
из библиотеки объектов.
Добавить элемент бара
Перетащите элемент UIBarButtonItem
из библиотеки объектов в верхнюю панель навигации.
Он должен выглядеть так:
Установить атрибуты
Вы можете дважды щелкнуть «Item», чтобы изменить текст на «Refresh», но есть реальный значок Refresh, который вы можете использовать. Просто выберите Инспектор атрибутов для UIBarButtonItem
и для элемента системы выберите Refresh .
Это даст вам значок Refresh по умолчанию.
Добавить действие IB
Управляйте перетаскиванием из UIBarButtonItem
в контроллер просмотра, чтобы добавить @IBAction
.
class ViewController: UIViewController {
@IBAction func refreshBarButtonItemTap(sender: UIBarButtonItem) {
print("How refreshing!")
}
}
Вот и все.
Заметки
- Этот пример изначально исходит из этого ответа переполнения стека .
Элемент кнопки «Бар» Исходное изображение без цвета оттенка
Если barButtonItem
имеет свойство ненулевого изображения (например, задано в barButtonItem
интерфейса).
Objective-C
barButtonItem.image = [barButtonItem.image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];