Создайте собственное представление с помощью наконечника и используйте его in a window

Я довольно долго боролся с этой проблемой и, кажется, не могу решить ее сам.

Вот ситуация: Я хочу иметь настраиваемое представление на основе пера с собственным ViewController. Затем я хочу добавить это представление в окно. Поэтому окно должно содержать мое пользовательское представление.

Итак, я иду и создаю очень простой пример вроде этого:

  1. В Xcode 4 я создаю новое приложение Какао на основе пустого документа
  2. Я создаю новый класс Какао который должен расширяться от NSViewController (что приводит к созданию пера вместе с файлами .h и .m. Имя созданного файла .h, .m и .xib: FaceViewController для целей тестирования он должен пока отображать только текст.
  3. Я открываю NSViewController.xib в InterfaceBuilder, добавляю многострочный текстовый компонент и помещаю его в пользовательское представление, которое уже находится в xib. Я заставляю текст охватывать все изображение.
  4. В MyDocument.xib я также добавляю заполнитель Custom View , который должен быть заменен моим пользовательским FaceView.

С этого момента все, что я пытался включить созданный View + ViewController в мой MyDocument.xib , терпело неудачу и Область, в которой должен отображаться мой текст, остается пустой (как и фон нижележащего окна.

Так что мой вопрос действительно в том, что мне нужно сделать, чтобы мой FaceView загружался в Custom View, который я разместил на ] MyDocument.xib . Вот некоторые вещи, которые мне непонятны:

  • Пользовательский вид расширяется от NSView , поэтому я хотел изменить его на свой FaceView, но это представление не существует как класс, но определено в InterfaceBuilder в xib, нужно ли мне установить что-нибудь, кроме NSView ?
  • Нужно ли мне выделять, инициализировать FaceViewController в коде или достаточно перетащить его в любой из два моих файла .xib?
  • Могу ли я использовать InterfaceBuilder для размещения моего FaceView или мне нужно делать это программно?

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

8
задан Besi 11 July 2011 в 20:15
поделиться