Pull to refresh

UIAppearance. Управление внешним видом iOS-приложений

Reading time 2 min
Views 17K
Original author: Mattt Thompson
Стиль или Суть
Сообщение или Носитель
Риторика или Диалектика

Красота — это нечто поверхностное или же идущее из глубинных истин?
Что значит «хороший дизайн»?
Эстетические суждения относительны или абсолютны?

Это важные вопросы, которые обсуждались философами, художниками и поэтами на протяжении тысячелетий.

И пока мы продолжаем наши поиски красоты и понимания мира, рынок мобильных приложений в данной области однозначно утверждает:

Пользователи платят за красивые приложения.

При покупке iPhone, пользователь покупает также философию Apple: вещи должны не только хорошо работать, но и хорошо выглядеть. То же относится к разработке на iOS — некрасивый интерфейс пользователя сказывается и на программном коде.

Исторически даже для незначительного изменения внешнего вида приложения в iOS требовался набор хаков, сопряженных с опасностью отклонения приложения в AppStore. К счастью, начиная с iOS 5 у разработчиков есть новый инструмент: UIAppearance.

UIAppearance позволяет единообразно управлять стилем компонентов во всем приложении.

Для реализации этого с сохранением существующей структуры UIKit специалисты Apple реализовали достаточно интересное решение: UIAppearance — это протокол, предоставляющий прокси-объект, который используется для конфигурирования объектов конкретного класса. Почему именно прокси, а не свойство или метод самого UIView? Потому что существуют объекты, не входящие в иерархию UIView, такие как UIBarButtonItem, со своим собственным представлением. Внешний вид может быть изменен у всех компонентов определенного типа или только у привязанных к специфической иерархии:

  • +appearance возвращает прокси-объект для данного класса элементов.
  • +appearanceWhenContainedIn:(Class )ContainerClass,...: возвращает прокси-объект для объектов, находящихся в определенном контейнере.
  • .

    Дух перфекционизма жив и в iOS. Сообщество постоянно развивает систему в сфере пользовательского взаимодействия. Это делает разработку под iOS более сложной, но и гораздо более приятной.

    Не соглашайтесь на полумеры.
    Делайте свои приложения прекрасными от внешнего вида до реализации.
Tags:
Hubs:
+11
Comments 12
Comments Comments 12

Articles