iOS. Приемы программирования
Шрифт:
Один из самых интересных инициализаторов из класса UIBarButtonItem — метод initWithCustomView:. В качестве параметра этот метод может принимать любой вид, то есть мы даже можем добавить на навигационную панель в качестве навигационной кнопки UISwitch (см. раздел 1.2). Это будет выглядеть
Вот что получается (рис. 1.40).
Рис. 1.40. Переключатель, добавленный на навигационную панель
На навигационной панели можно создавать очень и очень занятные кнопки. Просто взгляните, что делает Apple со стрелками, направленными вверх и вниз, расположенными в правом верхнем углу на рис. 1.36. А почему бы нам тоже так не сделать? Впечатление такое, как будто в кнопку встроен сегментированный элемент управления (см. раздел 1.8). Итак, нам нужно создать такой элемент управления с двумя сегментами, добавить его на навигационную кнопку и, наконец, поставить эту кнопку на навигационную панель. Начнем:
На
Рис. 1.41. Сегментированный элемент управления, встроенный в навигационную кнопку
Элемент navigationItem любого контроллера вида имеет еще два замечательных метода:
• setRightBarButtonItem: animated: — задает правую кнопку навигационной панели;
• setLeftBarButtonItem: animated: — определяет левую кнопку навигационной панели.
Оба метода позволяют указывать, хотите ли вы анимировать кнопку. Задайте значение YES для параметра animated, если анимация нужна:
См. также
Подраздел «Создание и запуск вашего первого приложения для iOS» раздела 1.0 данной главы. Разделы 1.2, 1.8, 1.12.
1.16. Представление контроллеров, управляющих несколькими видами, с помощью UITabBarController
Постановка задачи
Необходимо дать пользователям возможность переключаться из одного раздела вашего приложения в другой, причем делать это просто.
Решение
Используйте класс UITabBarController.
Обсуждение
Если вы пользуетесь iPhone как будильником, то, разумеется, замечали на экране панель вкладок. Взгляните на рис. 1.38. В нижней части экрана расположены значки, которые называются World Clock (Мировое время), Alarm (Будильник), Stopwatch (Секундомер) и Timer (Таймер). Вся черная полоса в нижней части экрана — это панель вкладок, а вышеупомянутые ярлыки — ее элементы.