Я пытаюсь получить что-то вроде этого скриншота
(источник: smokingapples.com)
в какао я имею в виду настраиваемый элемент управления списком. Вы знаете, как такие вещи можно сделать?
Заранее спасибо за помощь,
С уважением,
Я пытаюсь получить что-то вроде этого скриншота
(источник: smokingapples.com)
в какао я имею в виду настраиваемый элемент управления списком. Вы знаете, как такие вещи можно сделать?
Заранее спасибо за помощь,
С уважением,
Обновление:
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).
Проект все еще находится в стадии разработки, поэтому документации на данный момент не существует.
[Редактировать: в этом случае это было неочевидно: описания классов, показанные выше, конечно, являются цитатами;) Где я в последнем на самом деле относится к Алексу Розански, а не ко мне.]
Это простая NSTableView
с перерисованной ячейкой таблицы, которая состоит из NSImageView
и нескольких настроенных NSTextField
.