2017-01-04 10 views
3

Я использую XCode 8.2.1. Я только что узнал о цветовых профилях и что значения RGB не универсальны. Но все еще не могу понять, как сделать это правильно в коде. В интерфейсе Builder я выбрал предопределенный «Темно-серый цвет» для ярлыка. Это (85, 85, 85) в общем профиле RGB. Также в коде я установил другой цвет ярлыка на [UIColor darkGrayColor]. Я ожидал, что они будут иметь один и тот же цвет, но они разные.UIColor vs IB color (проблема с цветовым профилем)

Я использовал метод

- (BOOL)getRed:(nullable CGFloat *)red green:(nullable CGFloat *)green blue:(nullable CGFloat *)blue alpha:(nullable CGFloat *)alpha 

, чтобы получить значения RGB. Для ярлыка, который был установлен в IB, я вижу, что на самом деле значения (104,104,104) соответствуют значениям в IB, когда я переключаюсь на профиль устройства RGB. Так что кажется, что в коде используется профиль устройства RGB.

Так что мои вопросы:

  1. Почему стандарт «Темно-серый цвет» отличается при установке в IB и в коде?
  2. Как использовать общий профиль RGB в коде, чтобы я мог сопоставлять значения цветов с помощью Interface Builder?
+0

эй @jesse у меня есть только ответ ниже. –

ответ

4

Здравствуйте Jesse смотрите ответ ниже:

  • Why standard "Dark Gray Color" is different when set in IB and in code?

Standard Dark Gray Color отличается использованием Storyboard и программно, поскольку Storyboard использует sRGB IEC61966-2.1 или Generic RGBColor Profile по умолчанию, и когда вы установите его программно, поэтому требуется Device RGBColor profile, поскольку устройства ROS iOS устройства RGB iPhones, iPads имеют разные характеристики с точки зрения их цветовых профилей дисплея.

  • How to use Generic RGB profile in code, so I can match color values with Interface Builder?

При установке UIColor программно, так что вы не имеете никакого выбора, чтобы выбрать любой Color Profile, потому что он будет принимать Device RGBColor Profile.

Если вы хотите сделать это же, Так что в вашем раскадровке выберите Color Picker, Открыть настройки и изменить его на Device RGB

Смотрите ниже снимок экрана Цвет профиля Настройка с помощью раскадровки:

enter image description here

Я надеюсь, что это вам поможет ....