Создание объекта NSTextView

Самый простой способ использовать текстовую систему через Интерфейсного Разработчика. Соедините интерфейсом с палитрой текста какао Разработчика, показанной на рисунке 1, предоставляет специально сконфигурированный объект NSScrollView, содержащий объект NSTextView как его представление документа. Этот NSTextView сконфигурирован для работы с NSScrollView и другими средствами управления пользовательским интерфейсом, такими как линейка, меню Font, меню Edit, и т.д.

  Палитра Figure 1 Cocoa-Text
Cocoa-Text palette

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

Намного больше функциональности NSTextView доступно посредством команд меню. Взаимодействуйте через интерфейс палитра Cocoa-Menus Разработчика предлагает готовое меню Edit, содержащее команды редактирования текста, показанные на рисунке 2.

  Меню Figure 2 Edit
Edit menu

Палитра Cocoa-Menus также имеет Текстовое меню, показанное на рисунке 3, содержащем средства управления стилем абзаца и обеспечивающем пользовательский доступ к линейке документа.

  Текстовое меню рисунка 3
Text menu

Палитра Cocoa-Menus также имеет панель системного шрифта (или окно Fonts) показанный на рисунке 4.

  Панель Figure 4 Font
Font panel

По умолчанию большинство команд в этих меню воздействует на первого респондента, т.е. представление в ключевом окне, что пользователь выбрал для ввода. (См. справочную документацию для NSResponder, NSView и NSWindow для получения дополнительной информации о первом респонденте.) На практике первый респондент является объектом, это выводит на экран выбор, рисованного объект в случае графического выбора или NSTextView в случае текстового выбора. Путем добавления этих меню к приложению можно предложить пользовательский доступ ко многим мощным функциям редактирования текста.

NSTextViews сотрудничают со средством Служб через меню Services, также доступное от палитры Cocoa-Menus. Путем простого добавления пункта меню Services к главному меню приложения NSTextViews в приложении может службы доступа, предоставленные другими приложениями. Например, если пользователь выбирает слово в NSTextView и выбирает службу Mail> Send Selection, NSTextView передает свой выделенный текст Почтовому приложению, помещающему текст в новое сообщение.

Взаимодействуйте через интерфейс Разработчик предлагает эти прямые способы получить доступ к функциям текстовой системы. Можно также сконфигурировать собственные пункты меню или другие средства управления в Интерфейсном Разработчике для отправки сообщений в объект NSTextView. Например, можно сделать вывод NSTextView его текстом для того, чтобы распечатать или отправить факсом путем отправки ему a print: или fax: сообщение. Один способ сделать это должно перетащить пункт меню от палитры Cocoa-Menus в меню File Вашего приложения и сцепить его до NSTextView (или через первого респондента или прямым подключением). Путем указания, что элемент отправляет a print: обменивайтесь сообщениями к его цели, содержание NSTextView может быть распечатано или отправлено факсом, когда работает приложение.

Взаимодействуйте через интерфейс Разработчик также предлагает другие объекты — NSTextField и классов NSForm — которые используют объекты NSTextView для их средств редактирования текста. Фактически, весь NSTextField и объекты NSForm в том же окне совместно используют тот же объект NSTextView (известный как полевой редактор), таким образом сокращая требования памяти приложения. Если Ваше приложение требует автономных или сгруппированных текстовых полей, поддерживающих редактирование (и все другие услуги, предоставленные классом NSTextView), это классы использования.

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