iOS. Приемы программирования
Шрифт:
1.15. Добавление кнопок на навигационные панели с помощью UIBsrButtonItem
Постановка задачи
Необходимо добавить кнопки на навигационную панель.
Решение
Используйте класс UIBarButtonItem.
Обсуждение
На навигационной панели могут содержаться различные элементы. Кнопки часто отображаются в ее левой и правой частях. Такие кнопки относятся к классу UIBarButtonItem и могут принимать самые разнообразные формы и очертания. Рассмотрим пример, показанный
Рис. 1.36. Различные кнопки, отображаемые на навигационной панели
Навигационные панели относятся к классу UINavigationBar, их можно создавать когда угодно и добавлять к любому виду. Итак, просто рассмотрим разные кнопки (с разными очертаниями), добавленные на навигационные панели на рис. 1.36. На кнопках, размещенных справа сверху, видим стрелки, которые направлены вверх и вниз. На кнопке, находящейся слева вверху, имеется стрелка, указывающая влево. Кнопки, расположенные на нижней навигационной панели, имеют разные очертания. В этом разделе мы рассмотрим, как создаются некоторые из таких кнопок.
Работая с данным разделом, выполните шаги, перечисленные в подразделе «Создание и запуск вашего первого приложения для iOS» раздела 1.0 данной главы и создайте пустое приложение. Потом проделайте шаги, описанные в разделе 1.12, и добавьте в делегат вашего приложения навигационный контроллер.
Чтобы создать кнопку для навигационной панели, необходимо сделать следующее.
1. Создать экземпляр класса UIBarButtonItem.
2. Добавить получившуюся кнопку на навигационную панель, воспользовавшись свойством navigationItem, относящимся к контроллеру вида. Свойство navigationItem позволяет взаимодействовать с навигационной панелью. Само это свойство может принимать еще два свойства: rightBarButtonItem и leftBarButtonItem. Оба они относятся к типу UIBarButtonItem.
Теперь рассмотрим пример, в котором добавим кнопку в правую часть нашей навигационной панели. На этой кнопке будет написано Add (Добавить):
Если сейчас запустить приложение, появится картинка, примерно как на рис. 1.37.
Рис. 1.37. Навигационная кнопка, добавленная на навигационную панель
Пока все просто. Но если вы регулярно пользуетесь iOS, то, вероятно, заметили, что в системных приложениях iOS применяется готовая конфигурация и кнопка Add (Добавить) там выглядит иначе. На рис. 1.38 показан пример из
Рис. 1.38. Правильный способ создания кнопки Add (Добавить)
Оказывается, в SDK iOS можно создавать системные кнопки. Это делается с помощью метода-инициализатора nitWithBarButtonSystemItem: target: action:, относящегося к классу UIBarButtonItem:
В результате получится именно то, чего мы добивались (рис. 1.39).
Первый параметр метода-инициализатора initWithBarButtonSystemItem: target: action:, относящегося к навигационной кнопке, может принимать в качестве параметров любые значения из перечня UIBarButtonSystemItem:
Рис. 1.39. Системная кнопка Add (Добавить)
Зодчий. Книга IV
4. Зодчий Империи
Фантастика:
аниме
фэнтези
попаданцы
рейтинг книги
Моров. Том 1 и Том 2
1. Моров
Фантастика:
попаданцы
альтернативная история
аниме
рейтинг книги
Инженер Петра Великого 2
2. Инженер Петра Великого
Фантастика:
попаданцы
альтернативная история
фэнтези
рейтинг книги
Московское золото и нежная попа комсомолки. Часть Пятая
5. Летчик Леха
Фантастика:
попаданцы
рейтинг книги
Студиозус 2
4. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
рейтинг книги
Викинг
1. Викинг
Приключения:
исторические приключения
рейтинг книги
Вечный. Книга IV
4. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
рейтинг книги
Ведун
1. Второй шанс
Фантастика:
фэнтези
боевая фантастика
альтернативная история
рейтинг книги
География растений
Классики естествознания
Научно-образовательная:
ботаника
рейтинг книги
Последний Паладин
1. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Железный Воин Империи
1. Железный Воин Империи
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Черная метка
7. Гибрид
Фантастика:
технофэнтези
аниме
фэнтези
попаданцы
рейтинг книги
Дорогами алхимии
2. Под знаком Песца
Фантастика:
альтернативная история
аниме
рейтинг книги
Я - истребитель
1. Я - истребитель
Фантастика:
альтернативная история
рейтинг книги