setControlTint от NSProgressIndicator не имеет никакого эффекта

#colors #nsprogressindicator

#Цвет #nsprogressindicator

Вопрос:

У меня очень простая задача: изменить цвет NSProgressIndicator на графитовый, когда пользователь приостанавливает выполнение, то есть определенный индикатор выполнения. Я нашел метод setControlTint, но после его использования эффекта просто нет. Я также много искал, не так много четких ответов. Является ли подкласс NSProgressIndicator обязательным и требуется ли какой-либо пользовательский рисунок? Мне просто интересно, почему этот метод существует, и никаких дальнейших документов или обсуждений о правильном использовании.

Большое спасибо за любую помощь 🙂

Ответ №1:

См . Документ:

Документ для NSProgressIndicator setControlTint:

Устанавливает оттенок управления приемника.

 - (void)setControlTint:(NSControlTint)controlTint
  

Задает controlTint константу, указывающую желаемый оттенок элемента управления. Допустимые значения для controlTint описаны в NSCell .

Перейдите в документ NSCell:

setControlTint:

Устанавливает оттенок управления приемника.

 - (void)setControlTint:(NSControlTint)controlTint
  

Параметры controlTint — назначенное значение инициализаторов, которое определяет оттенок получателя.

Назначенные инициализаторы

При создании подклассов NSCell вы должны реализовать все назначенные инициализаторы. Этими методами являются: init , initWithCoder: , initTextCell: , и initImageCell: .

В to words вы должны создать подкласс NSProgressIndicator и реализовать все указанные инициализаторы.(см. Выше).

Комментарии:

1. Привет, я сталкиваюсь с той же проблемой и не могу найти ваше решение. Не могли бы вы немного его развить? Я пробовал [toolbarViewProgressIndicator setControlTint:NSGraphiteControlTint] , и это просто не работает.

2. @Heisennberg, я расширил свой ответ.

3. У меня это тоже не работает, и я не понимаю вашего ответа. NSProgressIndicator не наследует от NSCell, не так ли?

4. Да, NSProgressIndicator не наследует от NSCell. В классе NSCell нам нужно искать только «Допустимые значения для controlTint»