2016-08-22 9 views
1

Я проектирую табличное управление с использованием Cocoa/Objective-C. Поскольку я хочу эмулировать внешний вид Finder на Mac, я извлекаю системные цвета при рисовании моей таблицы.Как Mac OS X Finder определяет цвет заголовка?

В частности, используйте [NSColor controlAlternatingRowBackgroundColors] для строк таблицы, которые выглядят достаточно хорошо, на мой взгляд. Однако, когда дело доходит до заголовков таблицы, у меня есть некоторые вопросы:

[NSColor headerTextColor][NSColor headerTextColor] дает черный цвет (это хорошо для меня, так как заголовки заголовков Finder тоже черные), но я ожидал, что [NSColor headerColor] даст цвет против которого текст можно хорошо читать. Тем не менее, [NSColor headerColor] дает довольно темно-серый цвет, явно отличающийся от цвета заголовка Finder.

Итак, нормально ли для headerColor быть темным? Как Finder определяет его цвета заголовков (это даже документировано)?

ответ

1

Настольные заголовки в Finder не были сплошным цветом, поскольку до Mac OS X 10.0. Сначала они были «лизкими» аква-синими (или белыми, невыделенными) градиентами, затем они становились немного более плоскими с течением времени, а с тех пор, как Йосемити (10.10) использовали размытый полупрозрачный эффект, в противном случае доступный для разработчиков как NSVisualEffectView.

В любом случае, headerColor и несколько других цветов системы NSColor (например, gridColor) не отражают текущий дизайн пользовательского интерфейса. Вероятно, стоит filing a bug to Apple об устаревании методов, упоминающих в документации, какие цвета все еще используются для чего, или и то, и другое.

Если вы хотите, чтобы заголовки соответствовали Finder, и вы не используете NSTableView (который получает их бесплатно), NSVisualEffectView, вероятно, то, что вы хотите.

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

  • Нет связанных вопросов^_^