Crea oggetto Uicolore dal valore di ARGB
-
12-11-2019 - |
Domanda
Sono in un database alcune righe in cui un campo è il valore di ARGB per il colore correlato.
Devo leggere tutte le righe di queste tabelle e convertire il decimale del valore di ARGB per un Uicolore.
Ho Googlato Scoprilo, ma non l'ho fatto.
C'è un modo per avvicinarsi a questo?
Grazie.
Soluzione
text.color = [UIColor colorWithRed:10.0/255.0 green:100.0/255.0 blue:55.0/255.0 alpha:1];
.
Hai solo bisogno di dividere i valori RGB per 255 per ottenere cose da configurare correttamente.
Altri suggerimenti
Ecco il metodo in cui mi sono inventato per convertire un Integer ARGB in un colore UI.Testato su diversi colori che abbiamo nel nostro sistema .NET
+(UIColor *)colorFromARGB:(int)argb {
int blue = argb & 0xff;
int green = argb >> 8 & 0xff;
int red = argb >> 16 & 0xff;
int alpha = argb >> 24 & 0xff;
return [UIColor colorWithRed:red/255.f green:green/255.f blue:blue/255.f alpha:alpha/255.f];
}
. È possibile definire una macro e usarlo durante il tuo codice
#define UIColorFromARGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
blue:((float)(rgbValue & 0xFF))/255.0 alpha:((float)((rgbValue & 0xFF000000) >> 24))/255.0]
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow