Какой вид какао я должен использовать для списка сообщений? - PullRequest
2 голосов
/ 06 февраля 2010

Мне бы хотелось иметь представление, которое более или менее похоже на список сообщений в Tweetie ( см. Скриншот ) (нет, это не будет клиент Twitter, хотя он похож;). Я не уверен, какие представления «Какао» мне следует использовать для этого ... В последнее время я в основном писал вещи для iPhone, и там есть только один такой элемент управления (UITableView), но в AppKit их несколько. Должен ли я использовать NSTableView, или NSCollectionView, или здесь есть что-то еще более подходящее?

Ответы [ 2 ]

5 голосов
/ 06 февраля 2010

NSTableView - это такт, подходящий для общего вертикального списка. Tweetie выглядит так, как будто он просто использует что-то нестандартное. Ни один из стандартных классов Какао не выглядит так.

2 голосов
/ 06 февраля 2010

Обновление : Я собираюсь использовать SDListView - он более новый, кажется, поддерживается (это часть Twitter-клиента Стивена Дегутиса "TheGist"), и версия, используемая в этом клиенте, выглядит почти идентично тот в Tweetie, который я как бы хотел сорвать в любом случае ...

Обновление 2 (2014) : Начиная с 10.7, можно использовать NSViews в NSTableView, поэтому весь этот ответ устарел. Для любых списков, подобных UITableView, вы должны просто использовать NSTableView на основе представления, и все будет в порядке.

-

Хорошо, я отвечу сам: согласно этому сообщению в блоге , я мог бы использовать NSTableView, но это не очень хорошая идея ...:

Для Mac у вас есть NSTableView, устаревшая порция компонента, которая использует объекты NSCell вместо NSViews по различным причинам, связанным с историей и производительностью. Ячейки NSC сложно настраивать и они не могут содержать объекты NSView (без прыжков через обручи и внесения ненужных сложностей), которые являются источником жизненной силы интерактивного, привлекательного интерфейса. Кликабельные гиперссылки внутри диапазона текста внутри NSCell? Удачи! Эффекты при наведении курсора и Core Animation Slickness? Да правильно! NSCell походит на мираж: это выглядит хорошо издалека, но как только вы подходите близко к нему, вам хочется, чтобы вы никогда не видели его с самого начала.

Я думаю, что каждое родное приложение Twitter для Mac в настоящее время делает что-то свое для своей временной шкалы. Лорен Брихтер, по сути, написал порт UITableView для создания временной шкалы Tweetie, а Стивен Дегутис недавно работал над временной шкалой на основе NSCollectionView для своего приложения Twitter. Новая временная шкала бета-версии Echofon представляет собой нечто совершенно иное с полностью настраиваемым менеджером текста и макета, который позволяет создавать эффекты наведения на ссылки, как если бы это был WebView. Что касается Beak, я не буду вдаваться в подробности этой записи, но просто скажу, что это полностью настраиваемый NSScrollView с некоторым необычным кэшированием в фоновом режиме.

Я думаю, что я попытаюсь найти какой-то специальный элемент управления с открытым исходным кодом, созданный специально для этой цели ... Я рассматриваю AMCollectionView из http://www.harmless.de/cocoa-code.php и SDListView из http://github.com/sdegutis/SDListView.

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