NSCollectionView с различной высотой: как это сделать на рабочем столе? - PullRequest
1 голос
/ 18 ноября 2010

Благодаря этому посту Теперь я знаю, как сделать на iPhone таблицу с разной высотой строк (С UITableView )

Как это сделать на Mac?

Должен ли я использовать NSTableView ? Как насчет NSCollectionView ? Я чувствую, что NSTableView слишком сложен - по крайней мере, намного сложнее, чем UITableView. Я имею в виду, мне не нужны все заголовки и прочее.


Вот пример. Представьте себе список задач. Некоторые задачи могут быть довольно длинными и не помещаться в один ряд. Что бы вы делали на iPhone, iPad и Mac?

Ответы [ 2 ]

1 голос
/ 19 ноября 2010

Должен ли я использовать NSTableView?

Да.

Как насчет NSCollectionView?

Да.

Это зависит от того, что вы делаете. Если вы отображаете одномерную коллекцию объектов, особенно в форме, подобной представлению значков Finder, вам нужен NSCollectionView. Если вы отображаете таблицу, в которой каждый столбец отображает аспект каждой строки (например, строки = люди; столбцы = имя, заголовок, отдел и т. Д.), Вам нужен NSTableView.

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

В NSTableView вы можете установить высоту строки, являясь делегатом табличного представления и отвечая на tableView:heightOfRow:. Если вы хотите вернуть обычную высоту строки, запросите в табличном представлении rowHeight и верните ее; если вы хотите вернуть необычную высоту, сделайте это.

Лично мне проще работать с NSTableView. Вы можете установить большинство, если не все, в IB; единственное время, когда вам нужно написать какой-либо код, - это пользовательский рисунок, двойной щелчок или, да, переменная высота строки.

В качестве примера списка дел я бы использовал NSTableView с ячейкой кнопки-флажка в одном столбце для свойства done.

1 голос
/ 18 ноября 2010

NSTableView - это объект, эквивалентный UITableView, хотя он немного сложнее. Если вам не нужны заголовки, вам все равно не нужно их отображать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...