настраиваемый элемент управления списком в какао

Я пытаюсь получить что-то вроде этого скриншота alt text
(источник: smokingapples.com)

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

Заранее спасибо за помощь,

С уважением,


person AP.    schedule 25.07.2010    source источник


Ответы (2)


Обновление:

NSTableView теперь поддерживает строки на основе представлений с переменной высотой:

- (NSTableViewRowSizeStyle)rowSizeStyle

Возвращаемое значение
Стиль стиля строки. См. NSTableViewRowSizeStyle для поддерживаемых опций.

Обсуждение
Стиль размера строки можно изменить построчно, вызвав метод делегата tableView:heightOfRow:, если он реализован.

rowSizeStyle по умолчанию равно NSTableViewRowSizeStyleCustom. NSTableViewRowSizeStyleCustom указывает на использование rowHeight таблицы вместо предопределенных системных значений.

Как правило, rowSizeStyle всегда должно быть NSTableViewRowSizeStyleCustom, за исключением списков источников. Чтобы реализовать переменную высоту строки, установите значение NSTableViewRowSizeStyleCustom и реализуйте tableView:heightOfRow: в делегате.

Доступность
Доступно в OS X версии 10.7 и более поздних.


Исходный ответ:

Подход, более современный, чем взлом представления NSTableView, может быть одним из следующих:

http://github.com/sdegutis/SDListView

SDListView — клон NSCollectionView, но с элементами переменной высоты и с использованием только одного столбца.

http://github.com/uliwitness/PXListView

PXListView — оптимизированный элемент управления представлением списка для Mac OS X 10.5 и более поздних версий. Он был создан после того, как я написал этот пост на предмет.

PXListView распространяется под лицензией New BSD.

PXListView использует те же оптимизации, что и UITableView для iPhone, путем постановки в очередь и удаления из очереди NSView, которые используются для отображения строк, чтобы сохранить низкий объем памяти при наличии большого количества строк в списке, но при этом позволяя представлять каждую строку. с помощью NSView, что проще, чем работать с ячейками.

Архитектура элемента управления основана на элементах управления представлением списка, которые присутствуют как в Tweetie (Mac), так и в Echofon (Mac).

Проект все еще находится в стадии разработки, поэтому документации на данный момент не существует.

[Редактировать: в этом случае это было неочевидно: описания классов, показанные выше, конечно, являются цитатами;) Где я в последнем на самом деле относится к Алексу Розански, а не ко мне.]

person Regexident    schedule 25.07.2010
comment
Рад, что смог помочь. Кстати, не могли бы вы оставить краткий комментарий после того, как сделали свой выбор, и кратко объяснить, почему вы выбрали SDListView, а не PXListView? (или наоборот, а может даже и то, и другое) - person Regexident; 30.07.2010
comment
Я начал реализовывать SDListView. Причина очень проста: просто потому, что я предпочитаю полосу прокрутки. - person AP.; 30.07.2010

Это простая NSTableView с перерисованной ячейкой таблицы, которая состоит из NSImageView и нескольких настроенных NSTextField.

person Eimantas    schedule 25.07.2010
comment
Мне было интересно что-то более сложное. Спасибо за Ваш ответ. - person AP.; 25.07.2010