Создание пользовательского представления, что рендеринг в интерфейсном разработчике

Разработайте пользовательское представление в Интерфейсном Разработчике при редактировании кода представления в заместителе редактора.

bullet
Создать пользовательское представление что рендеринг в Интерфейсном Разработчике.
  1. Добавьте новый визуальный класс своего приложения.

    Для Сенсорной платформы Какао, например, выбирают File> New> File и выбирают Cocoa Touch Class template. Нажать Далее. Выберите UIView из всплывающего меню Подкласса и введите имя для своего класса в поле Class. (Для приложения OS X выберите Cocoa Class template и выберите NSView из всплывающего меню Подкласса.)

    ../Art/my_custom_class.shot/Resources/shot_2x.png../Art/my_custom_class.shot/Resources/shot_2x.png

    Нажмите Далее, и затем нажмите Create.

  2. Выберите заголовочный файл для класса в навигаторе проекта XCode и добавьте атрибут IB_DESIGNABLE выше начала строки @interface.

    Например, заголовочный файл для Сенсорного класса Какао называют MyDrawFrameRectViewClass был бы похож на следующие строки кода:

    #import <UIKit/UIKit.h>
    IB_DESIGNABLE
    @interface MyDrawFrameRectViewClass : UIView
     
    @end
  3. В навигаторе проекта XCode выберите раскадровку или xib файл.

    Содержание файла открывается в Интерфейсном Разработчике.

  4. Перетащите объект Представления (для приложения для iOS) или Пользовательский объект Представления (для приложения OS X) от Библиотеки объектов до Интерфейсного холста Разработчика.

    (Для открытия Библиотеки объектов выберите View> Utilities> Show Object Library. Прокрутите к — или введите в поле фильтра для — Представление или Пользовательский объект Представления в библиотеке.)

  5. Выберите объект представления и выберите View> Utilities> Show Identity Inspector.

  6. Введите имя класса для Вашего пользовательского представления в поле Class инспектора Идентификационных данных (в области Custom Class).

    Ваше пользовательское представление переопределяет выбранный объект. В следующем снимке экрана, пользовательском классе MyDrawFrameRectViewClass переопределяет выбранный объект представления:

    ../Art/overriding_with_custom_class.shot/Resources/shot_2x.png../Art/overriding_with_custom_class.shot/Resources/shot_2x.png
  7. Выберите View> Assistant Editor> Show Assistant Editor и используйте панель перехода ассистента для навигации к файлу реализации для пользовательского представления.

    (См. Используя Панель Перехода для Навигации по Рабочей области для инструкций при использовании панели перехода.)

  8. Запишите код для своего пользовательского представления.

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

    ../Art/live_rendering_red_rect.shot/Resources/shot_2x.png../Art/live_rendering_red_rect.shot/Resources/shot_2x.png

    Поскольку Вы вносите изменения в свой код, Интерфейсный Разработчик восстанавливает и повторно представляет Ваше пользовательское представление. (См. Определение Пользовательского Представления в поле зрения Руководство по программированию для iOS или Создания Пользовательского Представления в поле зрения Руководство по программированию для получения информации о записи кода для Вашего пользовательского представления.)

    ../Art/live_rendering_green_rect.shot/Resources/shot_2x.png../Art/live_rendering_green_rect.shot/Resources/shot_2x.png

    Для установки отдельных, inspectable экземпляров класса создайте inspectable свойства, как описано в следующих шагах. Эта процедура также позволяет Интерфейсному Разработчику быстро представлять изменения в Вашем пользовательском представлении.

  9. Выберите View> Assistant Editor> Add Assistant Editor и используйте панель перехода заместителя редактора для навигации к заголовочному файлу для пользовательского представления.

    Можно наблюдать пользовательское представление об Интерфейсном холсте Разработчика, одновременно редактируя реализацию представления и заголовочные файлы в заместителях редактора.

    ../Art/assistants_with_canvas.shot/Resources/shot_2x.png../Art/assistants_with_canvas.shot/Resources/shot_2x.png
  10. Включайте атрибут IBInspectable с объявлениями свойств то хранилище значения.

    В снимке экрана ниже, переменные _lineWidth и _fillColor в то время как свойства объявляются в заголовочном файле в более низком заместителе редактора, используются в файле реализации в верхнем заместителе редактора.

    ../Art/inspectable_properties.shot/Resources/shot_2x.png../Art/inspectable_properties.shot/Resources/shot_2x.png
  11. С пользовательским представлением, выбранным в Интерфейсном Разработчике, выберите View> Utilities> Show Attributes Inspector.

    Средства управления для изменения inspectable свойств появляются наверху инспектора. Снимок экрана показывает как свойства fillColor и lineWidth появитесь в инспекторе.

    ../Art/inspectable_values.shot/Resources/shot_2x.png../Art/inspectable_values.shot/Resources/shot_2x.png
  12. Измените значения свойств непосредственно в инспекторе Атрибутов.

    Взаимодействуйте через интерфейс Разработчик быстро представляет обновления к представлению.

    ../Art/modified_inspected_values.shot/Resources/shot_2x.png../Art/modified_inspected_values.shot/Resources/shot_2x.png

Функция Interface Builder Live Rendering позволяет Вам разрабатывать и проверять пользовательское представление об Интерфейсном холсте Разработчика. С этой функцией можно инкрементно совершенствовать код для прорисовки, визуально подтверждая изменения на Интерфейсном холсте Разработчика.

Когда Вы добавляете IB_DESIGNABLE припишите объявлению класса, расширению класса или категории для пользовательского представления, Интерфейсный Разработчик представляет Ваше пользовательское представление о холсте. Когда Вы вносите изменения в свой код, Интерфейсный Разработчик восстанавливает Ваше пользовательское представление и повторно представляет Ваше пользовательское представление.

При помощи IBInspectable атрибут для объявления переменных как inspectable свойств Вы позволяете Интерфейсному Разработчику быстро повторно представлять свое пользовательское представление, поскольку Вы изменяете значения этих свойств в инспекторе Атрибутов. Можно присоединить IBInspectable припишите любому свойству в объявлении класса, расширении класса, или категория для любого типа, это поддерживается Интерфейсным Разработчиком, определила атрибуты времени выполнения: булевская переменная, целочисленное или число с плавающей точкой, строка, локализованная строка, прямоугольник, точка, размер, цвет, диапазон и ноль.

Если необходимо создать код для пользовательского представления, работающего только в Интерфейсном Разработчике, вызовите тот код от метода prepareForInterfaceBuilder. Например, при разработке приложения, использующего камеру iPhone, Вы могли бы хотеть нарисовать изображение, представляющее то, что могла бы получить камера. Несмотря на то, что это компилируется в течение времени выполнения, код вызвал от prepareForInterfaceBuilder кроме никогда не вызывает Интерфейсный Разработчик во время проектирования.

Можно использовать макрос препроцессора TARGET_INTERFACE_BUILDER указать код для включения с или исключения из Вашего пользовательского класса представления.

- (void)connectToMyServer {
#if !TARGET_INTERFACE_BUILDER
   // connect to the server
#else
   // don't connect; instead, draw my custom view
#endif
}