Как сделать представление, соответствующее подклассу модели, которое содержит элементы представления, соответствующие родительскому классу модели? - PullRequest
0 голосов
/ 07 сентября 2010

У меня есть некоторые элементы пользовательского интерфейса, которые будут иметь общие части с другими элементами пользовательского интерфейса.Они соответствуют объектам модели в иерархии наследования.

В качестве примера, скажем, все слои можно включать / выключать.Все WaveLayers являются слоями, которые дополнительно определяют имя файла .wav.И есть конкретный конкретный подкласс WaveLayer, называемый GroovyLayer, который требует дополнительных параметров.

Визуально я хотел бы иметь длинную панель, в которой верхний раздел содержит общий пользовательский интерфейс уровня, а следующий раздел содержит специфичный для WaveLayerПользовательский интерфейс, а последний раздел содержит специфичный для GroovyLayer пользовательский интерфейс.Может быть около 10 или около того конкретных подклассов, каждый из которых имеет одинаковые верхние секции, соответствующие Layer и WaveLayer.

Как мне установить это в InterfaceBuilder?Должен ли я начинать сверху (с заполнителя для содержимого подкласса) или снизу (с заполнителя для содержимого родительских классов)?Как я должен идти о настройке этих заполнителей в InterfaceBuilder и замене в правильных NSViews в нужное время?

У меня есть такие вещи, чтобы работать с использованием пустого «пользовательского представления» в IB и связыванияэто к розетке в моем классе контроллера, а затем заменяет это представление другим представлением, привязанным к моему контроллеру из другого места в другом NIB, но это кажется нелегким, поскольку мой контроллер несет в себе элементы «старого представления» и «нового представления»..

1 Ответ

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

Выложите виды так, как вы пожелаете.Затем выберите пользовательское представление, представляющее ваш подкласс, и установите его имя класса в инспекторе.

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

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

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