О маркерных полях
Маркерное поле является текстовым полем с маркерами как его содержание. Маркер представляет строку или другой объект, отличительная форма маркера упрощает для пользователей распознавать и управлять им. Иногда пользователи выбирают строку, которая будет маркироваться из списка возможных записей, представленных им, таких как список адресов электронной почты в приложении Адресной книги. Следующие разделы описывают взгляд и поведение маркеров в маркерных полях и предлагают инструкции для надлежащего использования этого управления.
Маркерное поле в работе
Когда пользователь нажимает символ маркирования, такой как запятая, основная цель маркерного поля состоит в том, чтобы представить вводимые строки как маркеры. Маркеры в поле проще распознать и управлять, чем, скажем, список разделенных запятой значений строк. Манипулирование маркером включает возможность вырезать и вставить их и перетащить их между полями. Через делегацию, NSTokenField расширяет это основное поведение.
Прежде чем пользователь вводит в маркерном поле, оно точно походит на текстовое поле. Пользователь вводит некоторый текст и затем вводит символ от маркирования набора символов; значение по умолчанию, символы маркирования являются запятой или символом новой строки (вводимый путем нажатия Return), который также может заставить сообщение действия быть отправленным. (Обратите внимание на то, что символ новой строки всегда подразумевается и фактически не указан в наборе символов.) После получения символа маркирования маркерное поле преобразовывает вводимую строку в маркер (см. рисунок 1-1 для примеров). Обычно маркер принимает форму синего скругленного прямоугольника со строкой как заголовок. Но существует также маркерный стиль простого текста и возможно будущие стили.

Если приложение реализует надлежащий метод делегации после записи первой или два (или больше) символы, маркерное поле выводит на экран список завершения. То, когда список появляется, определяется задержкой завершения, период, который можно сконфигурировать. Рисунок 1-2 показывает то, на что похож типичный список завершения.

Поскольку пользователи продолжают вводить, маркерное поле сужает список завершения к соответствующим строкам. Пользователи могут или ввести всю желаемую строку, или они могут использовать мышь для выбора желаемой строки из списка путем щелчка по ней. После выбора пользователи вводят символ маркирования для преобразования строки в маркер.
Через делегацию маркеры, возможно, представляли объекты, связанные с ними; например, маркер с заголовком «синего» цвета мог иметь NSColor объект связался с ним. Маркерам можно было также присоединить меню к ним, как проиллюстрировано на рисунке 1-3. Эти меню могут представить дополнительную информацию о маркере и могут представить элементы, инициировавшие действия с объектом, представленным маркером.

Для дополнительного разъяснения при использовании маркерных полей посмотрите раздел по текстовым средствам управления в “Инструкциях по Элементу UI: Средства управления» в Инструкциях по Интерфейсу пользователя OS X.
Когда использовать маркерные поля
Вы используете маркерные поля по нескольким причинам. Основная причина состоит в том, чтобы сделать то, что пользователь вводит в поле, простое распознать и удобный для перемещений, выберите, и иначе управляйте.
Но можно также хотеть ограничить то, что пользователи вводят в маркерное поле к чему-то из конечного списка возможных записей. И можно хотеть связать базовые представленные объекты с этими строковыми записями. Они могли быть объектами, представляющими вещи, такие как адреса электронной почты, песни из списка воспроизведения iTunes, записей сотрудника, и т.д. Для имения этих функций необходимо реализовать надлежащие методы делегации.
Для дальнейшего расширения полноценности маркера можно дать ему меню, элементы которого отправляют сообщения в представленный объект или возвращают его по запросу к целевому объекту. Вставка копии или перетаскивает маркер между элементами пользовательского интерфейса тех же или различных приложений — принятие Вас при реализации требуемых методов делегации — Вы также перемещаете представленный объект.
Можно также использовать маркерные поля, когда все, чем Вы интересуетесь, является строковым значением маркера. Например, Вы могли бы выбрать маркерный стиль простого текста при использовании маркерного поля для осуществления корректного написания текстового элемента. Обратите внимание на то, что может быть только один маркер на маркерное поле, сконфигурированное для маркерного стиля простого текста.