Comment obtenir les valeurs RVB de UIColor?
Je suis de la création d'un objet en couleur en utilisant le code suivant.
curView.backgroundColor = [[UIColor alloc] initWithHue:229 saturation:40 brightness:75 alpha:1];
Comment puis-je récupérer les valeurs RVB de l'objet en couleur?
- double possible de l'Extraction de rvb à partir de UIColor
- Juste une remarque, les paramètres passés à la méthode -initWithHue:saturation:luminosité:alpha: devrions tous être compris entre 0.0 et 1.0.
- stackoverflow.com/questions/4700168/...
Vous devez vous connecter pour publier un commentaire.
Ces liens pour obtenir plus de détails:
colors
, vous pouvez écrire quelque chose comme,CGFloat red = colors[0];
error: <EXPR>:3:1: error: 'CGColorGetComponents' has been replaced by property 'CGColor.components'
Dans iOS 5, vous pouvez utiliser:
NSKeyedArchiver
, comme suit:multipliedColor = [NSKeyedUnarchiver unarchiveObjectWithData:[NSKeyedArchiver archivedDataWithRootObject: multipliedColor]];
SWIFT 3 & 4
J'ai trouvé que cgColor.les composants ne seraient pas toujours renvoyer les 4 valeurs de la couleur, j'ai donc changé cette sorte qu'il obtient à partir d'un CIColor wrapper
SWIFT 2
Ce n'est pas le moyen le plus efficace de sorte que je n'irais pas à l'aide de ce où la vue sera constamment re-dessinée.
J'espère que cela sera utile
Viens de faire une catégorie pour cela.
Va quelque chose comme:
Partie de
eppz!kit
avec plus UIColor goodies.Grâce. J'ai dû ajouter de la
const
au début de la ligne comme s'il était de la génération d'un message d'avertissement.Swift 3 version de David Rees réponse:
Depuis iOS 2.0 il ya une salle de méthode d'instance sur
UIColor
appeléstyleString
qui renvoie une RVB ou RVBA chaîne de représentation de la couleur, même pour des couleurs comme le whiteColor à l'extérieur de l'espace RVB.Objective-C:
Rapide vous pouvez utiliser un pont d'en-tête pour exposer l'interface. Avec pure Swift, vous aurez besoin de créer un
@objc
protocole avec la méthode privée, etunsafeBitCast
UIColor
avec le protocole:Je voulais avoir la couleur de fond de la
UITableViewStyle
"UITableViewStyleGrouped" donc, dans leviewDidAppear:
méthode que j'ai ajouté le code:NSLog(@"%@", self.tableView.backgroundView.backgroundColor);
Il a fait ce que j'avais prévu et retourné le journal:
UIDeviceRGBColorSpace 0.937255 0.937255 0.956863 1
Donc en bref il suffit de taper dans
NSLog(@"%@", [UIColor whateverColor]);
À l'aide de HandyUIKit rend cette vraiment facile:
Il y a aussi une option similaire à obtenir
hsba
valeurs:Simplement installer à l'aide de Carthage et vous êtes bon pour aller.
J'espère que cela aide!
Quelques macros que j'ai fait pour cela et d'autres contrôles de la couleur:
Dans votre cas, vous avez juste à utiliser
Macros:
Haut voté réponse est obsolète:
Au lieu de cela, utiliser
myUIColor.cgColor.components
définir votre UIColor comme ce
c'est pour Xamarin ios... mais pour sûr il s'agit d'une méthode de ce genre dans swift.