Создание объекта NSTextView программно
Время от времени Вы, возможно, должны собрать текстовую систему программно. Можно сделать это любым из двух способов: путем создания NSTextView
объект и разрешение ему создать его сеть поддержки объектов или путем создания сети объектов самостоятельно. В большинстве случаев Вы сочтете достаточным создать NSTextView
возразите и позвольте ему создать базовую сеть обрабатывающих текст объектов, как обсуждено в этой статье. Если Ваше приложение имеет сложные требования текстового расположения, необходимо будет создать сеть сами; см. “текстовые Системные объекты Создания” в текстовом Руководстве по архитектуре Какао для получения информации.
Вы создаете NSTextView
возразите программно обычным способом: путем отправки alloc
и init...
сообщения. Можно также создать NSTextView
объект с помощью любого из этих методов:
Метод, берущий один параметр, initWithFrame:
, самый простой способ получить NSTextView
объект — это создает все другие компоненты текстовой системы для Вас. Если Вы используете метод, берущий два параметра, initWithFrame:textContainer:
, необходимо создать другие компоненты сами.
Перечисление 1 показывает, как можно создать NSTextView
объект, данный NSWindow
объект, представленный здесь aWindow
.
Перечисление 1 , Создающее NSTextView, возражает программно
/* determine the size for the NSTextView */ |
NSRect cFrame =[[aWindow contentView] frame]; |
/* create the NSTextView and add it to the window */ |
NSTextView *theTextView = [[NSTextView alloc] initWithFrame:cFrame]; |
[aWindow setContentView:theTextView]; |
[aWindow makeKeyAndOrderFront:nil]; |
[aWindow makeFirstResponder:theTextView]; |
Этот код определяет размер для текстового прямоугольника кадра представления путем выяснения aWindow
для размера довольного представление. NSTextView
тогда создается и делается представлением содержания aWindow
использование setContentView:
. Наконец, makeKeyAndOrderFront:
и makeFirstResponder:
сообщения выводят на экран окно и заставляют текстовое представление подготавливать принимать ввод с клавиатуры.
initWithFrame:
метод не только инициализирует получение NSTextView
объект, это вызывает объект создать и соединить другие компоненты текстовой системы. Это - удобство, освобождающее Вас от необходимости создать и соединить их самих.