Обзор Содержимого

Активность

Активность представляет предоставленную системой или индивидуализированную задачу, доступную через контроллер окна действия (activity view controller), которая может работать с текущим контекстом.

activity_2x

ПРИМЕЧАНИЕ К ПРОГРАММНОМУ ИНТЕРФЕЙСУ ПРИЛОЖЕНИЯ (API)

Чтобы узнать больше о том, как установить активность в вашем коде, см. UIActivity Class Reference. Чтобы узнать, как встроить контроллер окна действия (activity view controller) в приложение, см. Контроллер Окна Действия (activity view controller).

Расширения Действие и Поделиться также отображаются в контроллере окна действия (activity view controller). Чтобы узнать больше об этих расширениях, см. Расширения Поделиться и Действие.

Активность:

  • Это индивидуализированный объект, представляющий задачу, которую может выполнить приложение во время его использования людьми
  • Представлена иконкой, похожей на иконку для использования в панели

activity_view_2x

Пользователи инициируют активность посредством нажатия на её иконку в контроллере окна действия (activity view controller). В ответ активность либо немедленно выполняет задачу, либо, если задача сложная, может запросить больше информации перед выполнением задачи.

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

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

  • Используйте чёрный или белый цвет с соответствующей альфа-прозрачностью.
  • Не используйте смещённую отбрасываемую тень.
  • Используйте сглаживание цветов.

Шаблонное изображение активности должно быть размещено в области размером 70 x 70 пикселей (высокое разрешение).

Создайте заголовок активности, который точно описывает вашу задачу. Заголовок отображается над иконкой активности в контроллере окна действия (activity view controller). Наилучшим является короткий заголовок, так как он лучше выглядит на экране и его легче найти. Если заголовок слишком длинный, iOS сначала уменьшит текст и потом, если заголовок всё еще будет длинным, сократит его. В целом, хорошей идеей является не включать в заголовок активности название вашей компании или товара.

Контроллер Окна Действия (Activity View Controller)

Контроллер Окна Действия (Activity View Controller) представляет временное отображение списка предоставленных системой и индивидуализированных задач, которые могут действовать в соответствии с определённым содержимым.

activity_view_controller_2x

ПРИМЕЧАНИЕ К ПРОГРАММНОМУ ИНТЕРФЕЙСУ ПРИЛОЖЕНИЯ (API)

Чтобы узнать больше о том, как установить контроллер окна действия (activity view controller) в вашем коде, см. UIActivityViewController Class Reference. Чтобы узнать, как создать активность, предоставляющую индивидуализированную задачу, см. Активность.

Контроллер окна действия (activity view controller):

  • Отображает изменяющийся список задач, которые пользователи могут выполнить в определённом контексте
  • Может отображаться в листе действия или вспомогательном экране в зависимости от обстановки

Используйте контроллер окна действия (activity view controller), чтобы предоставить людям список задач, которые они могут выполнить в определённом каким-либо образом контексте. Задачи могут быть предоставлены системой, например, Копировать, Twitter или Печать, либо индивидуализированы. Стандартный способ использования контроллера окна действия (activity view controller) — позволять пользователям размещать выбранное содержимое в учётной записи социальной сети.

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

Обеспечьте соответствие задач в списке текущему контексту. Вы можете изменить задачи списка в контроллере окна действия (activity view controller) посредством исключения системных задач и включения индивидуализированных задач. Например, чтобы не допустить печати изображения, вы исключаете активность Печать из контроллера окна действия (activity view controller).

ПРИМЕЧАНИЕ

Вы не можете изменить порядок, в котором расположены системные задачи в контроллере окна действия (activity view controller). Также, все системные задачи отображаются над всеми индивидуализированными задачами.

Окно Совокупности Объектов (Collection View)

Окно совокупности объектов (Collection View) управляет упорядоченным набором элементов и представляет их в индивидуализированном расположении.

collection_view_2x

ПРИМЕЧАНИЕ К ПРОГРАММНОМУ ИНТЕРФЕЙСУ ПРИЛОЖЕНИЯ (API)

Чтобы узнать больше о выделении окна совокупности объектов (collection view) в вашем коде, см. Collection View Programming Guide for iOS.

Окно совокупности объектов (collection view):

  • Может содержать дополнительное окно, которое визуально выделяет подклассы элементов или предоставляет элементы оформления, такие как индивидуализированный фон
  • Поддерживает индивидуализированные анимационные переходы между расположениями (по умолчанию, окно совокупности объектов (collection view) предоставляет анимацию, когда пользователь исправляет, двигает или удаляет элементы)
  • Поддерживает добавление распознавания жестов, чтобы выполнять индивидуализированные действия. По умолчанию, окно совокупности объектов (collection view) распознаёт касание (для выбора элемента) и касание+удержание (чтобы редактировать элемент).

Используйте окно совокупности объектов (collection view), чтобы предоставить пользователям способ видеть и управлять набором элементов, которому не нужно отображаться в списке. Так как окно совокупности объектов (collection view) не требует строго линейного расположения, оно построено подходящим образом для отображения элементов разного размера.

Окно совокупности объектов (collection view) поддерживает расширенную индивидуализацию, так что важно избегать создания радикально нового дизайна, чтобы он не был слишком отвлекающим. Вам нужно, чтобы окно совокупности объектов (collection view) улучшало задачу пользователя. Вам не нужно, чтобы окно совокупности объектов (collection view) становилось ключевым моментом пользовательского опыта. Эти указания помогут вам создать окна совокупности объектов (collection views), которые оценят пользователи.

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

Упростите для людей процесс выбора элемента. Если в вашем окне совокупности объектов (collection view) для людей сложно нажать на элемент, они с меньшей вероятностью будут наслаждаться вашим приложением. Как и со всеми объектами пользовательского интерфейса, на которые пользователи захотят нажать, определите минимальную область для каждого элемента окна совокупности объектов (collection view) размером 44 x 44 точек.

С осторожностью относитесь к динамическим изменениям в расположении. Окно совокупности объектов (collection view) позволяет вам изменять расположение элементов, когда пользователи просматривают их и взаимодействуют с ними. Если вы решили внести динамические изменения в расположение окна совокупности объектов (collection view), удостоверьтесь, что они имеют смысл и пользователям легко их уловить. Изменение расположения окна совокупности объектов (collection view) без очевидной причины может создать у пользователей впечатление, что приложение непредсказуемо и сложно в использовании. И если текущий фокус или контекст теряется во время динамических изменений в расположении, пользователи, вероятно, почувствуют, что они больше не в состоянии управлять вашим им.

Контроллер Окна Содержимого (Container View Controller)

Контроллер Окна Содержимого (Container View Controller) управляет и представляет набор дочерних окон (или контроллеров окна) индивидуализированным образом. Примерами системных контроллеров являются контроллеры окон панели вкладок, навигационные контроллеры окон и контроллеры разделённого окна (вы можете узнать больше об этих элементах в разделах Панель Вкладок, Панель Навигации и Контроллер Разделённого Окна).

ПРИМЕЧАНИЕ К ПРОГРАММНОМУ ИНТЕРФЕЙСУ ПРИЛОЖЕНИЯ (API)

Чтобы узнать больше об установке индивидуализированного контроллера окна содержимого в вашем коде, см. UIViewController Class Reference.

Контроллер окна содержимого не имеет предопределённого внешнего вида или поведения.

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

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

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

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

Окно Изображения

Окно изображения отображает одно изображение или анимационный ряд изображений.

ПРИМЕЧАНИЕ К ПРОГРАММНОМУ ИНТЕРФЕЙСУ ПРИЛОЖЕНИЯ (API)

Чтобы узнать больше об установке окна изображения в вашем коде, см. UIImageView.

Окно изображения:

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

В iOS 7 и позднее окно изображения, которое содержит шаблонное изображение, применяет текущий цветовой оттенок к этому изображению.

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

Окно Карты

Окно карты представляет географические данные и поддерживает большинство функций, предоставленных встроенным приложением Карты (показано ниже в приложении Фотографии).

map_view_photos_2x

ПРИМЕЧАНИЕ К ПРОГРАММНОМУ ИНТЕРФЕЙСУ ПРИЛОЖЕНИЯ (API)

Чтобы узнать больше об установке окна карты в вашем коде, см. MapKit Framework Reference.

Окно карты:

  • Отображает географическую область, используя стандартные данные карт, изображения спутниковых данных или и то, и другое
  • Может отображать примечания (которые помечают отдельные точки) и оверлей (который изображает путь или двухмерные области)
  • Поддерживает и программное, и пользовательское масштабирование и панорамирование

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

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

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

  • Используйте красный цвет для места назначения
  • Используйте зелёный цвет для начальной точки
  • Используйте фиолетовый цвет для точек, выбранных пользователем

Контроллер Окна Страницы (Page View Controller)

Контроллер окна страницы (Page view controller) использует один или два стиля осуществления переходов через многостраничное содержимое. Таким образом выглядит переворот страницы в iOS Simulator:

page_view_controller_2x

ПРИМЕЧАНИЕ К ПРОГРАММНОМУ ИНТЕРФЕЙСУ ПРИЛОЖЕНИЯ (API)

Чтобы узнать больше об установке контроллера окна страницы в вашем коде, см. Page View Controllers.

Контроллер окна страницы:

  • Не имеет предопределённого внешнего вида для прокручиваемого стиля

Для стиля переворачивания страниц контроллер окна страницы может добавить внутренний внешний вид корешка книжного блока между парами страниц

  • Анимирует переход от одной страницы к другой в зависимости от выбранного стиля

В стиле прокручивания текущая страница прокручивается до следующей. В стиле переворачивания текущая страница переворачивается как в книге или записной книжке.

Используйте контроллер окна страницы, чтобы представить содержимое, к которому пользователи имеют доступ линейно (как в тексте рассказа) или содержимое, которое естественным образом разбито на кусочки (как в календаре).

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

Вспомогательное Окно (Popover)

Вспомогательное окно (popover) — это временное окно, которое может открываться, когда пользователь нажимает на элемент управления или на область внутри экрана.

popover_2x

ПРИМЕЧАНИЕ К ПРОГРАММНОМУ ИНТЕРФЕЙСУ ПРИЛОЖЕНИЯ (API)

В iOS 8 и позднее вы используете UIPopoverPresentationController, чтобы предоставить вспомогательное окно. UIPopoverPresentationController выделяет представителя, который позволяет вам редактировать стиль отображения содержимого вспомогательного окна, чтобы встроить его в текущий режим отображения. Например, в горизонтальном обычном (regular) режиме ваше содержимое может отображаться внутри вспомогательного окна. В горизонтальном компактном (compact) режиме ваше содержимое может отображаться в полноэкранном модальном окне.

Вспомогательное окно (popover):

  • Является законченным модальным окном
  • В горизонтальном обычном (regular) режиме отображает стрелку, которая определяет место появления
  • Имеет полупрозрачный фон, который смазывает содержимое за ним
  • Может содержать широкий ряд объектов и окон, таких как:
    • Таблица, изображение, карты, текст, веб-страница или уникальные окна
    • Панели навигации, панели инструментов или панели вкладок
    • Элементы управления или объекты, которые действуют соответственно объектам в текущем окне приложения

(По умолчанию, экранные таблицы, панели навигации и панели инструментов во вспомогательном окне имеют прозрачный фон, чтобы размытие вспомогательного окна могло просвечивать.)

В горизонтальном обычном (regular) режиме лист действия всегда отображается внутри вспомогательного окна.

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

ПРИМЕЧАНИЕ

Указания в этом разделе охватывают пользовательский интерфейс и пользовательский опыт вспомогательного окна, которое отображается в горизонтальном обычном (regular) режиме. Если вы представляете вспомогательное окно в горизонтальном обычном (regular) режиме, где оно отображается в полноэкранном размере, см. Модальное Окно, чтобы получить руководство, применимое к остальным полноэкранным модальным окнам.

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

Если вспомогательное окно… Делайте следующее..
Предоставляет опции, которые влияют на главное окно, но не активирует инспектор Закройте вспомогательное окно, как только люди сделали выбор или когда они произвели касание за его границами, включая элемент управления, который открывает вспомогательное окно.
Активирует инспектор Закройте вспомогательное окно, когда люди производят касание за его границами, включая элемент управления, который открывает вспомогательное окно.

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

Активирует задачу Закройте вспомогательное окно, когда люди завершили или отменили задачу посредством нажатия на кнопку вспомогательного окна, такую как Done или Cancel.

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

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

Убедитесь, что стрелка вспомогательного окна указывает наиболее точно на элемент, который его открывает. Это помогает пользователям запомнить, откуда открылось вспомогательное окно и какая задача либо объект ассоциируется с ним.

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

Обеспечьте, чтобы одновременно на экране отображалось только вспомогательное окно. Вам не следует отображать более одного вспомогательного окна (или уникального окна, которое выглядит и функционирует как вспомогательное окно) одновременно. В частности, вам следует избегать одновременного отображения каскада или иерархии вспомогательных окон, в которых одно вспомогательное окно всплывает из предыдущего.

Не отображайте модальное окно поверх вспомогательного. За исключением предупреждения, ничего не должно отображаться поверх вспомогательного окна.

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

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

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

Удостоверьтесь, что уникальное вспомогательное окно по-прежнему выглядит как вспомогательное окно. Хотя достаточно легко настроить визуальные аспекты вспомогательного окна с помощью UIPopoverBackgroundView API, важно избегать создания дизайна, который люди не распознают как вспомогательное окно. Если вы слишком измените внешний вид вспомогательного окна, пользователи не смогут положиться на свой предыдущий опыт, который может помочь понять принцип работы вашего приложения.

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

Прокручивающееся Окно

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

scroll_view_2x

ПРИМЕЧАНИЕ К ПРОГРАММНОМУ ИНТЕРФЕЙСУ ПРИЛОЖЕНИЯ (API)

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

Прокручивающееся окно:

  • Не имеет предопределённого внешнего вида
  • Активирует временные индикаторы прокручивания при первом появлении или при взаимодействии пользователей
  • Реагирует на скорость и направление жестов, чтобы открыть содержимое естественным для людей образом

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

  • Может работать в режиме страниц, в котором каждый жест перетаскивания или перелистывания открывает одну определённую приложением страницу

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

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

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

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

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

Контроллер Разделённого Окна

Контроллер разделённого окна — это полноэкранный контроллер окна, который управляет демонстрацией двух дочерних контроллеров окон.

split_view_2x

ПРИМЕЧАНИЕ К ПРОГРАММНОМУ ИНТЕРФЕЙСУ ПРИЛОЖЕНИЯ (API)

Каждый дочерний контроллер окна отвечает за управление отображением одной панели. Сам контроллер разделённого окна демонстрирует эти дочерние контроллеры и управляет переходами между различными ориентациями. Чтобы узнать больше об установке контроллера разделённого окна в вашем коде, см. UISplitViewController Class Reference и Split View Controllers.

В iOS 7 и ранее контроллер разделённого окна был доступен только на iPad.

По умолчанию, контроллер разделённого окна использует текущий size class, чтобы определить, как расположить дочерние контроллеры. Например, контроллер разделённого окна:

  • Пробует отобразить обе панели параллельно в горизонтальном обычном (regular) режиме
  • Может отображать главную панель поверх дополнительной или может скрыть главную панель до тех пор, пока она не понадобится, обычно это происходит в горизонтальном компактном (compact) режиме

Вы можете повлиять на расположение панелей, если запросите контроллер разделённого окна обратить внимание на предпочтительное расположение, которое вы выбрали для конкретного режима отображения.

Контроллер разделённого окна может содержать широкий ряд объектов и окон, таких как:

  • Таблица, изображение, карты, текст, веб-страница или уникальные окна
  • Панели навигации, панели инструментов или панели вкладок

ПРИМЕЧАНИЕ

Не смотря на то, что основная панель часто называется ведущая панель, а дополнительная панель часто называется панель “подробно”, эта взаимосвязь в коде не обязательна.

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

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

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

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

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

Экранная Таблица

Экранная таблица предоставляет данные в прокручивающемся списке с одной колонкой и множеством строк.

plain_table_2x

ПРИМЕЧАНИЕ К ПРОГРАММНОМУ ИНТЕРФЕЙСУ ПРИЛОЖЕНИЯ (API)

Чтобы узнать больше о выделении экранной таблицы в вашем коде, см. Table View Programming Guide for iOS и UITableView.

Экранная таблица:

  • Отображает данные в строках, которые могут подразделяться на разделы или группы
  • Предоставляет элементы управления, позволяющие пользователям добавлять или удалять строки, выбирать несколько строк, видеть больше информации об элементе строки или открывать другую экранную таблицу

iOS выделяет два стиля экранных таблиц:

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

simple_list_2x

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

grouped_list_2x

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

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

Элемент экранной таблицы Название Значение
check_2x Галочка Оповещает о том, что строка выбрана.
disclosure_indicator_2x Индикатор раскрытия Отображает другую таблицу, связанную со строкой.
detail_disclosure_2x Кнопка Раскрытия Деталей Отображает дополнительные детали строки в новом окне (чтобы получить информацию о том, как использовать этот элемент за пределами таблицы, см. Вспомогательное Окно (Popover)).
row_reorder_2x Изменение порядка строк Оповещает, что строку можно перетащить в другую область таблицы.
row_insert_2x Добавить строку Добавляет новую строку в таблицу.
delete_control_2x Элемент управления кнопкой удаления В редактируемом контексте открывает и скрывает кнопку удаления в строке.
delete_button_2x Кнопка удаления Удаляет строку.

 

В дополнение к соответствующим таблице элементам, указанным выше, iOS выделяет элемент управления обновлением, который предоставляет пользователям возможность обновлять содержимое таблиц. Чтобы узнать больше об использовании элемента управления обновлением в таблице вашего приложения, см. Элемент Управления Обновлением.

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

ПРИМЕЧАНИЕ

Программно эти стили применимы к ячейке экранной таблицы, которая является объектом, сообщающим таблице, как отобразить её строки.

По умолчанию (UITableViewCellStyleDefault). Стиль ячеек по умолчанию включает в себя дополнительное изображение с левого края строки, за которым следует выровненный по левому краю заголовок.

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

default_cell_2x

Подзаголовок (UITableViewCellStyleSubtitle). Стиль подзаголовка включает в себя дополнительное изображение с левого края строки, за которым следует выровненный по левому краю заголовок на одной строке и выровненный по левому краю подзаголовок строкой ниже.

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

subtitle_cell_2x

Значение 1 (UITableViewCellStyleValue1). Стиль со значением 1 отображает выровненный по левому краю заголовок с расположенным на этой же строке, выровненным по левому краю заголовком в ненасыщенном шрифте.

value_1_cell_2x

Значение 2 (UITableViewCellStyleValue2). Стиль со значением 2 отображает выровненный по правому краю заголовок в голубом шрифте, за которым на этой же строке следует выровненный по левому краю подзаголовок в чёрном шрифте. Этот стиль не очень хорошо подходит для изображений.

В расположении со значением 2 чёткое вертикальное поле между текстом и деталями помогает пользователям сфокусироваться на первых словах дополнительных заголовков текста.

value_2_cell_2x

ПРИМЕЧАНИЕ

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

Используйте экранную таблицу, чтобы отобразить большое или маленькое количество информации аккуратно и эффективно. Например:

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

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

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

Вы также можете использовать таблицу верхнего-нижнего колонтитулов, это постоянная UITableViewHeaderFooterView, чтобы отобразить текст или индивидуализированное окно в верхнем или нижнем колонтитулах. Чтобы узнать, как использовать таблицу верхнего-нижнего колонтитулов в вашем коде, см. UITableViewHeaderFooterView Class Reference.

При использовании экранных таблиц следуйте этим указаниям:

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

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

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

Если данные сложные или медленно загружаются, предоставьте пользователям какой-то знак, что загрузка данных находится в процессе. Если таблица содержит только сложные данные, то будет очень сложно быстро отобразить что-то полезное. В таких редких ситуациях очень важно избегать отображения пустых строк, потому что это может вызвать предположение, что приложение “зависло”. Вместо этого таблица должна отображать крутящийся индикатор активности, с каким-либо информативным текстом (например, “Загрузка…”), выровненным по центру экрана. Это предоставляет пользователям обратную связь, которая даёт знать, что процесс продолжается.

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

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

Избегайте совмещения табличного показателя с элементами экранной таблицы, которые отображаются с правого края таблицы. Элементы экранной таблицы, отображающиеся с правого края экрана, такие как индикатор раскрытия, пересекаются с показателем.

Создайте уникальный стиль ячеек таблицы, если вы хотите расположить строки таблицы необычным способом. Лучше создать уникальный стиль ячеек таблицы, чем многозначительно изменять стандартный. Чтобы узнать, как создать свои собственные ячейки, см. Customizing Cells.

Текстовое Окно (Text View)

Текстовое окно принимает и отображает несколько строк атрибутивного текста.

text_view_2x

ПРИМЕЧАНИЕ К ПРОГРАММНОМУ ИНТЕРФЕЙСУ ПРИЛОЖЕНИЯ (API)

Чтобы узнать больше о выделении текстового окна в вашем коде, см. UITextView.

Текстовое окно:

  • Прямоугольной формы любой высоты
  • Поддерживает прокручивание, когда содержимое слишком большое, чтобы уместиться в пределы окна
  • Поддерживает индивидуализированные шрифты, цвета и выравнивание (по умолчанию текстовое окно отображает выровненный по левому краю системный шрифт чёрного цвета)
  • Может поддерживать редактирование, в случае которого появляется клавиатура, если пользователь производит нажатие в пределах текстового окна (способ ввода клавиатуры и расположение устанавливаются языковыми настройками пользователя)

Всегда будьте уверены, что текст легко прочитать. Хотя вы можете использовать строки с атрибутами для комбинирования нескольких шрифтов, цветов и выравнивания необычным способом, важно сохранять читабельность текста. Хорошей идеей является поддержка динамического типа (Dynamic Style) и использование метода UIFont preferredFontForTextStyle, чтобы текст отображался в текстовом окне. Для получения некоторых указаний касательно поддержки динамического типа (Dynamic Type), см. Текст всегда должен быть разборчивым; для программной информации см. Текстовые Стили.

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

iOS предоставляет несколько типов клавиатур, каждая из которых спроектирована для того, чтобы способствовать различным типам ввода. Чтобы узнать о доступных типах клавиатур, см. документацию для UIKeyboardType. Чтобы узнать больше об управлении клавиатурой в вашем приложении, читайте Managing the Keyboard.

Веб-Окно (Web View)

Веб-окно представляет собой область, которая может отображать насыщенное HTML содержимое (здесь показано между панелью навигации и панелью инструментов в Почте на iPhone).

web_view_2x

ПРИМЕЧАНИЕ К ПРОГРАММНОМУ ИНТЕРФЕЙСУ ПРИЛОЖЕНИЯ (API)

Чтобы узнать больше о выделении веб-окна в вашем коде, см. UIWebView.

Веб-окно:

  • Отображает веб-содержимое
  • Выполняет некоторую автоматическую обработку веб-содержимого, такую как преобразование телефонного номера в телефонную ссылку

Если у вас есть веб-страница или веб-приложение, вы можете решить использовать веб-окно, чтобы реализовать простое приложение iOS, которое предоставит “упаковку” для вашей веб-страницы или приложения. Если вы планируете использовать веб-окно для доступа к веб-содержимому, управляемому вами, обязательно прочтите Safari Web Content Guide.

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

Copyright © 2016. iOSManual Все авторские права защищены