2011-09-28 6 views

Respuesta

33

El parámetro no son un valor de 0 a 255, pero un flotador entre 0,0 y 1,0:

[UIColor colorWithRed:0.0f/255.0f green:155.0f/255.0f blue:218.0f/255.0f alpha:1.0f]; 
+1

Tal diseño se remonta a Quartz en los primeros Mac OS X, y la idea era proporcionar un espacio de color perfecto e independiente del dispositivo a prueba de futuro. –

+0

¿Qué diferencia hace f en 155.0f – Armand

+2

f especifica que 155.0 debe interpretarse como un flotante en lugar de un doble. – Luke

3

Los valores deben ser flotantes (en el rango de 0.0 a 1.0), no ints (en el rango de 0 a 255).

+ (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha 

Probar:

[UIColor colorWithRed:136.0/255.0 green:155.0/255.0 blue:218.0/255.0 alpha:1.0]; 
1

Los params no son números enteros pero flotadores, entonces es probable que desee dividir todos los valores flotantes de color con 255. De esta manera:

[UIColor colorWithRed:136.0/255 green:155.0/255 blue:218.0/255 alpha:1.0]; 

Es por eso que el color cambia cuando configura el rojo en 0 en lugar de 1, lo que significa 136 en este caso.

Cuestiones relacionadas