Изменение размера представления NSCollectionViewItem

Как программно установить размер представления NSCollectionViewItem?

Я попытался сделать это в подклассе NSCollectionView:

@implementation CustomCollectionView

- (NSCollectionViewItem *)newItemForRepresentedObject:(id)object {

    NSCollectionViewItem *newitem = [[self itemPrototype] copy];
    [newitem setRepresentedObject:object];  
    NSView *itemview = [newitem view];
    [itemView setFrame:NSMakeRect([itemView frame].origin.x, [itemView frame].origin.y,         [itemView frame].size.width, 500)];
    return newitem;
}

@end

Однако этот код не действует. Я попытался подклассифицировать свой NSView, который я использую для NSCollectionViewItem, и добавить setFrame: к методу initWithCoder, но при этом получаю сбой EXC BAD ACCESS.


person indragie    schedule 26.10.2009    source источник


Ответы (1)


Вы можете проверить эту альтернативу NSCollectionView с открытым исходным кодом от Стивена Дегутиса, которая, по моему совпадению, только сегодня была опубликована на GitHub (я заметил ее сегодня через Twitter):

http://github.com/sdegutis/SDListView

Похоже, это позволяет вам иметь предметы разной высоты.

person Todd Ditchendorf    schedule 27.10.2009
comment
... эта ссылка больше не работает (12/2011), но есть зеркало по адресу github.com/arbales/SDListView - person Jay; 12.12.2011