NSTableView с более чем одним элементом пользовательского интерфейса в NSCell (например, Transmission) - PullRequest
1 голос
/ 03 марта 2011

Как бы я сделал NSCell с более чем одним элементом пользовательского интерфейса и отобразить его в NSTableView? Для NSCells с одним значением я мог бы реализовать tableView:objectValueForTableColumn:row:, но я не знаю, как это сделать для NSCells с более чем одним. На данный момент у меня есть NSView в NSCollectionView, и все элементы связаны с NSArrayController. Но я бы предпочел иметь NSTableView или подобное.

Ответы [ 2 ]

1 голос
/ 03 марта 2011

Я переключился на JAListView для просмотра таблиц и контуров в своих приложениях Mac: https://github.com/joshaber/JAListView

Преимущество заключается в использовании NSView для элементов таблицы вместо NSCells, что дает большую свободу при реализации вашего дизайна.

Существует также несколько других альтернатив, пытающихся устранить подобные пробелы в NSTableView и его подклассах: http://groups.google.com/group/cocoa-unbound/browse_thread/thread/87b2a1b5725eac05

0 голосов
/ 03 марта 2011

Вы возвращаете основное значение в методе tableView:objectValueForTableColumn:row:, а затем дополнительно настраиваете ячейку в tableView:willDisplayCell:forTableColumn:row:.

Либо так, либо вы создаете пользовательский подкласс NSCell, который может настраиваться на основе предоставленного вами objectValue.

...