Para una solución rápida (pero tal vez no la más bonita):
- añadir la propiedad de color como un número de tipo en el plist
- Introduzca el color como RGB-hexdecimal, por ejemplo:
0xff00e3
- Leer hacia fuera y procesarlo con una macro como a continuación
Aquí es un ejemplo de código:
// Add this code to some include, for reuse
#define UIColorFromRGBA(rgbValue, alphaValue) ([UIColor colorWithRed:((CGFloat)((rgbValue & 0xFF0000) >> 16))/255.0 \
green:((CGFloat)((rgbValue & 0xFF00) >> 8))/255.0 \
blue:((CGFloat)(rgbValue & 0xFF))/255.0 \
alpha:alphaValue])
// This goes into your controller/view
NSDictionary *myPropertiesDict = [NSDictionary dictionaryWithContentsOfFile:...];
UIColor *titleColor = UIColorFromRGBA([myPropertiesDict[@"titleColor"] integerValue], 1.0);
Después de introducir el color que hexdecimal, el editor de plist lo mostrará como un número decimal. No está bien. Como desarrollador, normalmente copia los colores de un documento de diseño de todos modos, así que la necesidad de leer los valores de color no es tan grande.
Sólo señalar que el rojo, verde, azul son los valores 0,0-1,0 no 0-255 modo los dividen por 255 para obtener el valor correcto - este me sorprendió por un tiempo. – amergin
Esto es para almacenar en 'plist', es probable que desee" diseñar "los colores en' plist'. Para los ayudantes de conversión RGB, consulte http://stackoverflow.com/questions/13224206/how-do-i-create-an-rgb-color-with-uicolor/21297254#21297254 y http://stackoverflow.com/questions/ 437113/how-to-get-rgb-values-from-uicolor/21296829 # 21296829. – Geri