Как использовать пользовательские объекты в Xcode 4?

У меня есть тот же вопрос, что и на на этой странице:

В Interface Builder 3 мы можем перетащить пользовательский объект (например, subview obj UIView) на сцену. Но в XCode 4, после создания xib, у меня есть проблема повторного использования, кроме как с помощью кода.
И в "Библиотеке объектов" → "Пользовательские объекты" она пуста.

Custom Objects in Xcode 4

Но ответ, данный там, не работает для меня. Я перетаскиваю файл xib в список Custom Objects, но он ничего не добавляет к списку.

Ответы

Ответ 1

Поскольку вы отметили этот вопрос как "iPhone", я предполагаю, что вы занимаетесь разработкой iOS. Вы не можете использовать функцию "Пользовательские объекты" Xcode для разработки iOS - она ​​предназначена для использования в приложениях, разработанных для Mac.

Ближе всего вы можете реально подражать этой функции для разработки iPhone, чтобы создать свой собственный пользовательский компонент UIView, который затем можно перетащить между xib файлами.

Вы также можете создать пользовательский подкласс UIView с файлом .h/.m/.xib. Если вы хотите создать свой объект программно, вы можете просто сделать это:

NSArray *items = [[NSBundle mainBundle] loadNibNamed:@"MyClass" owner:owner options:nil];
id myView = [items objectAtIndex:0];

Что касается разработки Mac, панель Custom Objects больше не используется. Я бы предположил, что эта функция будет либо отсутствовать в будущих версиях Xcode, либо что Apple все еще работает над улучшением поддержки модулей IB. Предыдущие версии Xcode и Interface Builder (назад, когда IB было его собственным приложением) имели поддержку плагинов интерфейса и создание пользовательских элементов интерфейса. BWToolkit является примером одного такого плагина. Из документации:

Xcode 4 обеспечивает ограниченную поддержку плагинов Interface Builder 3. В частности, вы можете создать проект с подключаемым модулем Interface Builder зависимостей, но вы не можете редактировать файлы nib. Когда вы пытаетесь открыть nib с зависимостями подключаемого модуля, Xcode 4 отображает диалоговое окно предлагая обновить файл (рисунок 4-3). Если вы согласитесь, Xcode преобразует класс настраиваемых объектов, построенных с помощью подключаемых модулей, к ближайший класс AppKit. Если преобразование невозможно, Xcode 4 содержит подробное сообщение об ошибке. В этом случае вы должны удалить с помощью Interface Builder 3, прежде чем вы сможете редактировать nib в Xcode 4.

Ответ 3

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

  • Создайте файл .nib. сделайте все, что вы хотите сделать в этом .nib, например UIView с некоторыми элементами управления пользовательским интерфейсом.
  • Скопируйте этот пользовательский UIView.
  • Вернемся к раскадровке, которую вы хотите добавить к этому пользовательскому UIView.
  • Выберите целевой UIViewController и вставьте его, выполнив.

Ответ 4

Вы можете указать пользовательский класс в построителе интерфейса В раскрывающемся списке классов вы можете выбрать пользовательский класс для элемента ui в построителе интерфейса. Класс должен быть добавлен в проект, чтобы он появился в раскрывающемся списке.

enter image description here