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.

È stato utile?

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
scroll top