Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Graphics, UIColor created with component values far outside the expected range

I got Xcode 8 and a folder with images. I have replaced all images with specific filters in Photoshop, Pixalate.

When I run my project, I get an error:

[Graphics] UIColor created with component values far outside the expected range, Set a breakpoint on UIColorBreakForOutOfRangeColorComponents to debug. This message will only be logged once.

How can I solve this?

like image 238
Done Avatar asked Sep 18 '16 12:09

Done


5 Answers

You might have something like this somewhere :

UIColor(red: 255, green: 255, blue: 255, alpha: 1.0)

need to be changed like this now :

UIColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0)
SO : UIColor(red: 255/255, green: 255/255, blue: 255/255, alpha: 1.0)
like image 78
Patrice From 8Beats Avatar answered Oct 05 '22 13:10

Patrice From 8Beats


As mentioned in your warning info, you just set the value outside the expected range. According to the API Reference, every parameter pass to UIColor generator should be between 0.0 and 1.0.

You can follow the steps bellow to find out the code which cause this warning:

Step 1: add a Symbolic Breakpoint in your breakpoint navigator add a Symbolic Breakpoint

Step 2: set the symbol of the Symbolic Breakpoint to be UIColorBreakForOutOfRangeColorComponents set the symbol of the Symbolic Breakpoint

Step 3: run your app to get the call stack

Follow the call stack of step 3, you will find the key code results in the warning.

like image 23
roby Avatar answered Oct 05 '22 13:10

roby


Short answer: RGB values go from 0-1. You probably entered the straight number. Divide each value by 255.

Long answer: I got this error. I had looked up a color in RGB. This was my code.

view.backgroundColor = UIColor(red: 125, green: 125, blue: 125, alpha: 1)

I used the symbolic breakpoint trick to find which line it was breaking on, but I still didn't know how to fix it.

Then looking at another answer here, I remembered that RGB values have a range of 0-1. The numbers that are given are always divided by 255.

I changed my code to this:

view.backgroundColor = UIColor(red: 125/255, green: 125/255, blue: 125/255, alpha: 1) and it worked great.

like image 37
Joshua Dance Avatar answered Oct 05 '22 14:10

Joshua Dance


Try this out. It worked fine for me

UIColor(red: <Your color>/255.0, green: <Your color>/255.0, blue: <Your color>/255.0, alpha: 1.0)
like image 32
Syngmaster Avatar answered Oct 05 '22 13:10

Syngmaster


Answer: RGB values always should be in range like 0-1. You probably entered the straight number and Divide RGB color value by 255.

e.g.

UIColor(displayP3Red: 41/255.0, green: 128/255.0, blue: 185/255.0, alpha: 1.0)

its working...:)

like image 30
Parth Avatar answered Oct 05 '22 12:10

Parth