2010-04-15 1 views
0

Есть ли способ получить цветные флажки, например, в iCal, без использования пользовательского чертежа?Цветные флажки стиля iCal с использованием Cocoa

Я просмотрел документацию, но могу найти только, как изменить цвет фона и текста.

+2

Незначительное предложение: подумайте о тех, у кого есть слепота цвета. Если цвет имеет существенное значение (не просто «симпатичный»), убедитесь, что цвет - это не единственное, что указывает на это значение. iCal позволяет выбрать цвет для календаря, но календарь также имеет имя. –

ответ

1

Немного датировано (см. 10.3), но Мэтт Геммелл опубликовал несколько кодов для цветных флажков несколько лет назад.

http://mattgemmell.com/source

Посмотрите на "iTableView."

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

0

Боюсь, что нет. Я не уверен, что AHIG запрещает подобные вещи или нет (возможно, это так), но причина, по которой iCal уходит, заключается в том, что: «Эй! Почему нет?'. Кроме того, это приложение Apple, так что да.

Это все еще можно сделать, конечно, но не без специального рисунка. Лично я бы посоветовал это, и скорее посмотрю, может ли то, что вы пытаетесь достичь, может быть достигнуто каким-то другим способом. Если нет, вы можете использовать некоторые файлы данных из iCal, чтобы создать свой флажок. (Неуверенная как кошерный что будет, но «Эй! Почему нет?».)

2

Вы можете достичь чего-то, по крайней мере по аналогии с цветными флажками в ческом, позволяя Core Animation для флажка и добавления «Hue Настроить "(в настройке" Регулировка цвета "). Если цвет статический, это можно сделать полностью в Interface Builder, без необходимости кода.

Будьте осторожны, так как иногда включение Core Animation для различных видов вызывает странные ошибки (например, WebViews не очень хорошо сочетаются с представлениями Core Animation).

Если вы хотите сделать это программно, ознакомьтесь с документацией для CIFilter (это ссылка), которую вы используете с методом экземпляра NSView setContentFilters: (также ссылка).

Смежные вопросы