Панели вкладок
Панель вкладок обеспечивает легкий доступ к различным взглядам в приложении. Используйте панель вкладок для организации информации в приложении подзадачей. Наиболее распространенный способ использовать панель вкладок с контроллером панели вкладок. Можно также использовать панель вкладок в качестве автономного объекта в приложении.
Цель. Панели вкладок позволяют пользователю:
Быстро перейдите в приложении
Получите понимание расположения приложения
Реализация.
Панели вкладок реализованы в
UITabBar
класс и обсудил в Ссылке класса UITabBar.Элементы панели вкладок реализованы в
UITabBarItem
класс и обсудил в Ссылке класса UITabBarItem.
Конфигурация. Сконфигурируйте панели вкладок в Интерфейсном Разработчике в разделе Tab Bar Инспектора Атрибутов. Несколько конфигураций не могут быть сделаны через Инспектора Атрибутов, таким образом, необходимо сделать их программно. Также, если Вы предпочитаете, можно установить другие конфигурации программно.
Содержание панелей вкладок
Каждая вкладка на панели вкладок представлена как a UITabBarItem
, и Вы используете UITabBarItem
методы класса создать элемент панели вкладок. Каждый элемент панели вкладок имеет заголовок, выбранное изображение, отменявшее изображение и значение значка.
После создания элементов панели вкладок добавьте их к панели вкладок с items
свойство, которое является массивом UITabBarItem
объекты. Если Вы хотите анимировать изменения в своем массиве элементов панели вкладок, используйте setItems:animated:
метод вместо этого.
Поведение (программируемых) панелей вкладок
Можно изменить содержание панели вкладок во время выполнения и позволить пользователям добавлять, удалять, или переупорядочивать вкладки. Для представления модального представления, позволяющего пользователям настраивать панель вкладок используйте beginCustomizingItems:
метод. Можно также добавить a UITabBarDelegate
возразите против своего приложения. Когда пользователь настраивает панель вкладок, делегат панели вкладок получает сообщения.
Наиболее распространенный способ использовать панель вкладок в сочетании с контроллером панели вкладок. A UITabBarController
объект управляет различными представлениями вкладки и контроллерами представления и самой панелью вкладок. При использовании контроллера панели вкладок Вы не должны использовать UITabBar
методы или свойства для изменения панели вкладок. Если Вы делаете, система выдает исключение. Для получения дополнительной информации о том, как создать интерфейс панели вкладок со связанным контроллером панели вкладок, посмотрите Контроллеры Панели вкладок.
Появление панелей вкладок
Можно настроить появление панели вкладок путем установки свойств, изображенных ниже.
Для настройки появления всех панелей вкладок в приложении используйте прокси появления (например, [UITabBar appearance]
). Для получения дополнительной информации посмотрите Прокси Появления.
Стиль
Панели вкладок имеют два стандартных стиля появления: полупрозрачный белый с темным текстом (значение по умолчанию) или полупрозрачный черный цвет с легким текстом. Используйте barStyle
свойство, чтобы программно выбрать один из этих стандартных стилей.
Цвет оттенка
Можно указать пользовательский цвет оттенка для фона панели использование Оттенка (barTintColor
) поле. Фоновый цвет оттенка по умолчанию является белым.
Используйте оттенок изображения (selectedImageTintColor
) когда та вкладка выбрана, поле для указания оттенка элемента панели окрашивает. По умолчанию тот цвет является синим.
Изображения
Когда вкладка выбрана, изображение индикатора выбора показано. Это нарисовано поверх панели вкладок позади значка элемента панели. По умолчанию нет никакого изображения индикатора выбора, но можно установить пользовательский с помощью selectionIndicatorImage
свойство.
По умолчанию нет никакого изображения делителя между вкладками на панели вкладок. Можно установить пользовательские изображения делителя для каждой комбинации левых и правых состояний управления вкладкой с помощью setDividerImage:forLeftState:rightState:
метод. При использовании пользовательских делителей удостоверьтесь, что установили изображения делителя все комбинации состояний вкладок: оставленный выбранный, право, выбранное, или оба отменявшие.
Можно также установить пользовательское фоновое изображение для всей панели вкладок с помощью backgroundImage
свойство. При установке этого свойства с поддающимся растягиванию изображением изображение расширяется. При использовании неподдающегося растягиванию изображения изображение размещается рядом.
Если Вы хотите использовать пользовательское теневое изображение для панели вкладок, установите shadowImage
свойство. Для показа пользовательского теневого изображения необходимо также установить пользовательское фоновое изображение с backgroundImage
.
Полупрозрачность
Панели вкладок полупрозрачны по умолчанию на iOS 7. Кроме того, существует системная размытость, применился ко всем панелям вкладок. Это позволяет Вашему содержанию показывать через нижнюю часть панель.
Эти настройки автоматически применяются при установке любого стиля для barStyle
или любой пользовательский цвет для barTintColor
. Если Вы предпочитаете, можно сделать панель вкладок непрозрачной путем установки translucent
свойство к NO
false
программно. В этом случае, если панель вкладок имеет, панель рисует непрозрачный фон, использующий черный UIBarStyleBlack
стиль, белый, если панель вкладок имеет UIBarStyleDefault
, или панель вкладок barTintColor
если определяется пользовательское значение.
Если панель вкладок имеет пользовательское фоновое изображение, полупрозрачность по умолчанию автоматически выведена из средних альфа-значений изображения. Если средняя альфа будет меньше чем 1,0, то панель вкладок будет полупрозрачна по умолчанию; если средняя альфа будет 1.0, то панель вкладок будет непрозрачна по умолчанию. Если Вы устанавливаете translucent
свойство к YES
true
на панели вкладок с непрозрачным пользовательским фоновым изображением панель вкладок делает изображение полупрозрачным. Если Вы устанавливаете translucent
свойство к NO
false
если панель вкладок имеет, на панели вкладок с полупрозрачным пользовательским фоновым изображением панель вкладок обеспечивает непрозрачный фон для изображения, использующего черный UIBarStyleBlack
стиль, белый, если панель вкладок имеет UIBarStyleDefault
, или панель вкладок barTintColor
если определяется пользовательское значение.
Значки элемента панели вкладок
Каждый элемент в панели вкладок может иметь пользовательское выбранное изображение и отменявшее изображение. Можно указать эти изображения при инициализации элемента панели вкладок с помощью initWithTitle:image:selectedImage:
метод. Обратите внимание на то, что изображение элемента панели вкладок будет автоматически представлено как шаблонное изображение в панели вкладок, если Вы явно не установите ее режим рендеринга в UIImageRenderingModeAlwaysOriginal
. Для получения дополнительной информации посмотрите Шаблонные Изображения.
Используя автоматическое расположение с панелями вкладок
Можно создать Автоматические Ограничения макета между панелью вкладок и другими элементами пользовательского интерфейса. Можно создать любой тип ограничения для панели вкладок помимо ограничения базовой линии.
Для получения общей информации об использовании Автоматического Расположения с представлениями iOS, посмотрите Используя Автоматическое Расположение с Представлениями.
Создание доступных панелей вкладок
Панели вкладок доступны по умолчанию.
С VoiceOver, включенным на устройстве на iOS, когда пользователь касается вкладки в панели вкладок, VoiceOver читает заголовок вкладки, ее позиции в панели, и выбрано ли это. Например, в приложении iTunes на iPad, Вы могли бы услышать “Выбранный, Аудиокниги, четыре из семь” или “Genius, шесть из семь”.
Для получения общей информации о создании доступных представлений iOS, посмотрите Доступные Представления Создания.
Интернационализация панелей вкладок
Для интернационализации панели вкладок необходимо обеспечить локализованные строки для заголовков элемента панели вкладок.
Для получения дополнительной информации посмотрите Руководство по Интернационализации и Локализации.
Элементы, подобные панели вкладок
Следующие классы обеспечивают схожую функциональность для панели вкладок:
Сегментированное Управление. Подобный панели вкладок, сегментированные функции управления как кнопка, показывающая различные взгляды. Если Вы хотите обеспечить функциональность, подобную панели вкладок, но не хотите, чтобы те средства управления были персистентными, рассмотрели использование сегментированного управления. Помните, что панель вкладок должна быть доступной от каждого расположения в приложении. Для получения дополнительной информации посмотрите Сегментированные Средства управления.
Панель навигации. Панель навигации также позволяет пользователям перейти посредством различных представлений содержания, но она предлагает линейный контур. С панелью вкладок пользователь может просмотреть любую другую вкладку в любой момент времени. Для получения дополнительной информации посмотрите Панели навигации.
Панель инструментов. И панель вкладок и панель инструментов всегда видимы на экране. Однако в отличие от панели вкладок, переключающейся между представлениями, a
UIToolbar
объект содержит средства управления, позволяющие пользователю выполнять действия, связанные с объектами на экране. Для получения дополнительной информации посмотрите Панели инструментов.