June 19, 2020

Uikit

Элементы пользовательского интерфейса UIKit подразделяются на 4 категории: 

  1. Панели. Панели содержат контекстуальную информацию, которая сообщает пользователям, где они находятся, и управляет для помощи пользователям совершать действия. 
  2. Обзор содержания. Обзор содержания включает в себя конкретное содержимое приложения и делает возможными такие операции как, например, прокрутка, вставка, удаление и перестановка иконок. 
  3. Элементы управления. Элементы управления выполняют операции или отображают информацию. 
  4. Всплывающие окна. Всплывающие окна появляются для предоставления пользователям важной информации или дополнительного выбора и функциональности.

Вдобавок к определению элементов пользовательского интерфейса, UIKit определяет задачи, которые обеспечивают функциональными возможностями, такими, как распознавание жестов, рисование, доступность и поддержка печати.

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

Size Clasess (Понятие режим дисплея может относиться ко всему экрану устройства или только его части, например область вспомогательного экрана или область одной стороны в разделённом экране на iPad.

iOS определяет два size classes: обычные (regular) и компактные (compact). Обычные (regular) size classes связаны с открытым пространством, а компактные (compact) с ограниченным пространством.


Фокусируйтесь на основном содержимом во всех условиях. Это ваша основная задача. Люди используют ваше приложения для того, чтобы видеть то содержимое, которое им нужно, и взаимодействовать с ним. Изменение фокуса при изменении условий может сбить людей с толку, и это может создать впечатление, что они не могут справиться с приложением. Избегайте неуместных изменений в расположении. Сопоставимый опыт в разных условиях позволяет людям сохранить использование шаблонов при развороте устройства или запуске вашего приложения на другом устройстве. Например, если вы используете сетку для демонстрации изображений в горизонтальном обычном (regular) режиме, вам не нужно отображать такую же информацию в горизонтальном компактном (compact) режиме, даже если вы отрегулировали размеры сетки.

Насколько возможно, избегайте противоречивого оформления пользовательского интерфейса. Как правило, элементы с похожими функциями также должны выглядеть похожими. Люди часто допускают, что для несоответствия, которое они заметили, должна быть причина, и они склонны тратить своё время, чтобы это выяснить.
Упростите взаимодействие пользователей с содержимым и элементами управления посредством обеспечения достаточного пространства для каждого интерактивного элемента. Сделайте элементы, на которые можно нажать, размером около 44 x 44 точек.
Быстрый Запуск Говорится, что люди тратят не более одной или двух минут на оценку нового приложения. Когда большая часть этого короткого момента становится быстрым представлением полезного содержимого, вы вызываете интерес у новых пользователей и предоставляете им превосходный опыт в использовании.
ВАЖНО Не заставляйте пользователей перезагружать или перезапускать устройства после того, как они установили приложение. Перезагрузка занимает много времени, и ваше приложение может выглядеть ненадёжным и сложным в использовании.
Если в вашем приложение есть использование памяти или другие моменты, которые осложняют запуск пока не произойдёт начальная загрузка, вам необходимо принять меры по устранению этих неудобств.
Насколько возможно, избегайте отображения экрана-заставки или другого опыта при запуске. Самое лучшее, когда пользователи могут приступить к использованию вашего приложения немедленно.
Старайтесь избегать запроса о выполнении данных установки. Вместо этого:

  • Сфокусируйтесь на том, что нужно 80 процентам ваших пользователей. Когда вы это сделаете, большинство людей не захочет указывать параметры настроек, потому что они ожидают, что приложение уже готово к использованию определённым образом.
  • Получайте как можно больше информации из других источников.Если вы можете использовать какую-либо информацию, которую люди предоставляют во встроенных приложениях или в настройках устройства, запросите эти данные у системы; не просите людей вводить их снова.
  • Если вы должны запросить информацию об установке, сделайте так, чтобы люди вводили ее внутри вашего приложения. Затем, сохраните эту информацию как можно скорее (теоретически, в настройках вашего приложения). Таким образом, вы не заставляете людей заходить в Настройки перед тем, как они получат шанс насладиться вашим приложением. Если у людей возникнет необходимость позже изменить эти данные, они могут в любое время сделать это в настройках приложения.

Откладывайте запрос логина как можно дольше. Лучше всего, когда пользователи могут пользоваться большей частью вашего приложения и функциональными возможностями без входа в систему.
Если регистрация пользователей необходима, в области авторизации отобразите краткое доброжелательное объяснение причин и преимуществ, которые получат пользователи, выполнив такое требование

Ознакомление не является заменой хорошего оформления приложения. Если вы всё еще считаете, что ознакомление необходимо, следуйте этим пунктам для создания краткой, направленной методики освоения, которая не станет препятствием для пользователей.

Если ваше приложение перезагрузилось, восстановите его состояние, чтобы пользователи могли продолжить там, где они остановились. Люди не должны запоминать шаги, которые они проделали до предыдущего места в вашем приложении..

Всегда Будьте Готовы к Завершению Приложение в iOS никогда не отображает окно Закрытия или Выхода. Люди прекращают использование приложения, когда они переключаются на другое, возвращаются на Главный Экран или используют режим сна.

  • Сохранять пользовательские данные так быстро, как это возможно, и настолько часто, насколько необходимо. Обеспечьте это, потому что приложение на заднем плане может быть закрыто или завершено в любой момент. 
    Сохранять текущее состояние во время остановки на самом лучшем уровне детализации, который возможен. Таким образом, люди не теряют контекста, когда возвращаются к вашему приложению. Например, если ваше приложение отображает прокрутку данных, сохраните текущее положение прокрутки.

Для некоторых приложений необходимо продолжать работать на заднем фоне, пока пользователь использует другое приложение. Например, пользователи могут захотеть послушать песню, которая играет в одном приложении, в то время, как они используют другое приложение для проверки списка текущих дел или играют в игру. Узнать, как правильно и изящно управлять многозадачностью, можно в разделе Многозадачность.

Никогда не допускайте программного завершения iOS приложения. Люди, как правило, воспринимают это как неисправность. Если что-то мешает работе вашего приложения надлежащим образом, вам нужно сообщить пользователям об этой ситуации и объяснить, что им нужно сделать.

Если все функции приложения недоступны, отобразите сообщение, которое описывает ситуацию и предлагает решение. Эта информация даёт обратную связь с пользователями и уверяет их, что ничего серьёзного с приложением не происходит. Это также вовлекает пользователей в управление и даёт им решить, хотят ли они предпринять корректировочные меры и продолжить использование вашего приложения или хотят переключиться на другое приложение.

Если только некоторые функции недоступны, также отобразите сообщение или предупреждение, если пользователи пытаются воспользоваться этими функциями.

Навигация

Люди, как правило, насторожены касательно навигации, пока этот опыт не оправдает их ожиданий. Вашей задачей является осуществить навигацию таким образом, который будет поддерживать структуру и цель вашего приложения без привлечения внимания. В широком смысле, существует три основных стиля навигации, каждый из которых подходит для отдельной структуры приложения: 

Многоуровневый 

Плоский 

С учётом содержания или использования

Пользователи всегда должны знать, где именно в вашем приложении они находятся и как достичь следующей цели. Вопреки стилю навигации, который подходит структуре вашего приложения, самая важная вещь — это обеспечить логичное, предсказуемое и простое передвижение пользователя через содержимое.

Используйте панель вкладок для отображения нескольких аналогичных категорий содержания или функциональности.

UIKit также предоставляет упомянутые ниже похожие элементы управления:
 Сегментированный Элемент Управления.
 Панель Инструментов.

Обеспечьте простоту, сжатость и узко направленность модальных задач. Вы не хотите, чтобы ваши пользователи воспринимали модальное окно как миниприложение внутри вашего приложения. Если подзадача является слишком сложной, люди могут потерять из виду основную задачу, которую они приостановили, когда начался процесс модальности. Относитесь особенно настороженно к созданию модальных задач, которые включают в себя иерархию видов, потому что люди могут потеряться и забыть, как восстановить прошлые этапы. Если модальная задача должна содержать подзадачи в отдельных видах, удостоверьтесь, что предоставляете пользователям единственный понятный путь через иерархию и избегайте зацикливания.

Используйте предупреждения для передачи существенной, а, в идеале, требующей принятия мер, информации

Уважайте предпочтения пользователей на получения уведомлений. Удостоверьтесь, что соблюдаете эти предпочтения таким образом, что пользователям не хочется выключить все уведомления от вашего приложения.

Соединённые с основными цветами, заголовки, подразумевающие действия, как правило, делают границы кнопок или другие элементы дизайна излишними.

Жесты

Избегайте сопоставления различных жестов со стандартными.

Избегайте создания специальных жестов, которые способствуют осуществлению таких же действий, как и стандартные жесты.

Используйте сложные жесты как метод, требующий наименьших затрат времени и сил для быстрого выполнения задачи, но не один единственный способ выполнить её. Насколько возможно, всегда предоставляйте пользователям простой и прямой путь для выполнения действия, даже если при этом требуется дополнительные одно или два нажатия. Простые жесты позволяют пользователям сфокусироваться на использовании и на содержимом, а не на взаимодействии.

Насколько возможно, включите статус и другую важную информацию обратной связи в пользовательский интерфейс. Лучше всего, если пользователи могут получить такую информацию без совершения действия или отвлечения от содержимого. Например, Почта отображает текущее состояние ящика на панели инструментов, где не соперничает с материалами пользователя.

Процесс Ввода Информации Должен Быть Лёгким

предупреждения