Per una soluzione rapida (ma forse non il più carina):
- aggiungere la proprietà colore come un numero di tipo nel plist
- Inserisci il colore come RGB-esa decimale, ad esempio:
0xff00e3
- Leggere fuori e elaborarlo con una macro come qui di seguito
Ecco un esempio di codice:
// 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);
Dopo aver inserito il colore come esa decimale, l'editor plist mostra come un numero decimale. Non bello. Come sviluppatore normalmente copi incollare comunque i colori da un documento di design, quindi la necessità di leggere i valori dei colori non è così grande.
Solo per notare che i valori, verde, blu rosso sono 0.0-1.0 non 0-255 modo da dividere per 255 per ottenere il valore corretto - questa mi ha catturato per un po '. – amergin
Questo è per la memorizzazione in 'plist', probabilmente si desidera" progettare "i colori in' plist'. Per gli helper di conversione RGB, consulta http://stackoverflow.com/questions/13224206/how-do-i-create-an-rgb-color-with-uicolor/21297254#21297254 e http://stackoverflow.com/questions/ 437.113/how-to-get-rgb-valori-da-UIColor/21296829 # 21.296.829. – Geri