У меня есть класс представления списка , который так же, как NSCollectionView , требует дополнительного элемента прототипа и представления прототипа для любого использования.При удалении NSCollectionView из библиотеки в Интерфейсном Разработчике эти два вспомогательных элемента создаются автоматически.Однако я не смог найти ни одного официального документа Apple, касающегося этого варианта использования (описывающего, как это делается).
Копая руководства Apple Dev, я смог найти " ibDidAddToDesignableDocument :".
С помощью следующего кода мне удалось получить мои вспомогательные элементы, созданные по капле из библиотеки:
- (void)ibDidAddToDesignableDocument:(IBDocument *)document {
[super ibDidAddToDesignableDocument:document];
NSView *prototypeView = [[[NSView alloc] initWithFrame:NSMakeRect(0.0, 0.0, 300, 65.0)] autorelease];
DLListViewItem *prototypeViewItem = [[[DLListViewItem alloc] initWithNibName:nil bundle:nil] autorelease];
[document addObject:prototypeViewItem toParent:nil];
[document addObject:prototypeView toParent:nil];
[document connectOutlet:@"view" ofSourceObject:prototypeViewItem toDestinationObject:prototypeView];
[document connectOutlet:@"listView" ofSourceObject:prototypeViewItem toDestinationObject:self];
[document connectOutlet:@"prototypeItem" ofSourceObject:self toDestinationObject:prototypeViewItem];
}
Однако…
… IB добавляет эти вспомогательные элементы дляNSCollectionView только для фактического начального перетаскивания из библиотеки , а не для любого другого вызова «ibDidAddToDesignableDocument:», например, при встраивании, копировании или дублировании элемента.(хотя мой метод и на всех)
Это заставляет меня задуматься, использует ли Apple "ibDidAddToDesignableDocument:" для этого, и я нахожусь на правильном пути с этим вообще.
Как правильно имитировать это?Я с трудом пытаюсь различить разные контексты для "ibDidAddToDesignableDocument:".Кто-нибудь успешно делал это?
К сожалению, ни Google, ни Google Code, ни GitHub, ни документация не выявили ничего полезного, поэтому мне здесь крайне нужна помощь.: (
Заранее спасибо!
Редактировать: О, отлично, этот вопрос только что принес мне значок с камышом, да! Не.
На самом деле я больше на полезные ответы, но спасибов любом случае;)