Анимация строки в NSTableView - PullRequest
5 голосов
/ 01 июня 2011

Как я могу анимировать строку в табличном представлении?

Я попробовал это сделать, но застрял в первом посте, в котором указана фактическая ячейка, вот что я делаю:

int selectedRow = [tableView selectedRow];
NSTextFieldCell *textFieldCell = [tableView preparedCellAtColumn:1 row:selectedRow];

Затем я пытаюсь установить цвет фона с помощью [textFieldCell setBackgroundColor:[NSColor redColor]];, но это ничего не меняет в табличном представлении.

Теперь я предполагаю, что ячейка, возвращенная в preparedCellAtColumn:row:, на самом деле не та, что в табличном представлении, а совершенно новая.

Поэтому я спрашиваю, если я не могу даже получить ячейку, как я могу оживить строку (например, исчезнуть / войти)?

1 Ответ

1 голос
/ 15 июня 2011

Как человек, который потратил много-много часов, пытаясь бороться с NSTableView, чтобы добавить анимации, подобные UITableView, вот три варианта, которые я рекомендую, в этом конкретном порядке:

1) Подождите 30 дней. Приходит Лев и (следуя линии NDA), я думаю, вы будете очень счастливы.

2) Ознакомьтесь с некоторыми альтернативными табличными представлениями на [cocoacontrols.com] [1], такими как JATableView или PXListView. Они довольно хороши и могут служить очень хорошо, в зависимости от того, что содержит ваша таблица.

3) Если вы хотите получить полный и надежный контроль над анимацией для tableView в версии 10.6 или ниже, вам придется развернуть свой собственный. По крайней мере, вышеперечисленные проекты могут дать вам хороший старт. И, поскольку вам, вероятно, понадобится лишь небольшое подмножество того, что может предложить NSTableView, задача не так монументальна, как кажется. Хуже всего в том, что вы теряете возможность настраивать все в IB.

Вы найдете некоторые результаты Google для "Animate NSTableView", но, по моему опыту, эти результаты никогда не были достаточно хорошими для отправки, и вы приложите немало усилий для борьбы с NSTableView.

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