Помощь по созданию пользовательского представления - PullRequest
0 голосов
/ 02 сентября 2010

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

@ interface myView: UIView {

}

@ end

Теперь мой вопрос: как лучше связать мое представление с viewController?При загрузке из файла NIB мы напрямую назначаем файл контроллера представления в качестве типа владельца файла.В случае пользовательского UIView, как мы можем это сделать?

Ответы [ 3 ]

0 голосов
/ 02 сентября 2010

Немного смущен вашей формулировкой. Я предполагаю, что вы хотите разместить свой пользовательский вид в вашем UIViewController.

Вы можете легко сделать это как в Интерфейсном Разработчике, так и в своем коде.

Код:

myView *view = [[myView alloc] initWithRect:CGRectMake([x],[y],[width], [height]];
[self.view addSubView:view];
[view release];

В Интерфейсном Разработчике:

  1. Выберите «Вид» в объектах библиотеки.
  2. Перетащите View в вид вашего UIViewController.
  3. В инспекторе щелкните значок i в круге («Просмотреть личность»)
  4. Используя раскрывающийся список классов, выберите класс вашего представления (myView)

Вот больше информации: http://developer.apple.com/iphone/library/documentation/DeveloperTools/Conceptual/IB_UserGuide/CustomizingInterfaceBuilder/CustomizingInterfaceBuilder.html#//apple_ref/doc/uid/TP40005344-CH16-SW12

0 голосов
/ 02 сентября 2010

Если ваш viewController уже имеет файл .nib Interface Builder (как при создании с помощью шаблонов Xcode), откройте его. Обычно там уже вид. Вы можете вызвать инспектор для этого представления и на вкладке «Удостоверение» инспектора изменить класс представления контроллера представления с UIView на свой пользовательский класс представления. Сохраните, перестройте, и ваш пользовательский класс теперь привязан и будет загружен с этим контроллером представления.

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

0 голосов
/ 02 сентября 2010

Когда вы не работаете с nib-файлами, вы используете метод loadView в UIViewController для создания вашего представления.Этот комментарий даже появляется над loadView в шаблоне для нового UIViewController:

// Implement loadView to create a view hierarchy programmatically, without using a nib.

Редактировать: Возможно, я был слишком кратким здесь.По сути, затем внутри вашего loadView метода вы создаете экземпляр myView (используя alloc / init или любой другой) и присваиваете ему self.view.Дайте мне знать, если вам нужен пример кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...