J'utilise les valeurs RVB d'une couleur d'un magasin de photo et les utilise dans xcode. Les couleurs sont.Couleur-R-160, G-97, B-5 ... la couleur dans Photoshop est jaunâtre mais en xcode quand j'ai utilisé
myLabel.textColor= [UIColor colorWithRed:160 green:97 blue:5 alpha:1] ;
la couleur apparaît blanchâtre.
Pourquoi cette différence se passe-t-elle?
Vous devez donner les valeurs entre 0 et 1.0. Alors divisez les valeurs RVB par 255.
myLabel.textColor= [UIColor colorWithRed:(160/255.0) green:(97/255.0) blue:(5/255.0) alpha:1] ;
Mettre à jour:
Vous pouvez aussi utiliser cette macro
#define Rgb2UIColor(r, g, b) [UIColor colorWithRed:((r) / 255.0) green:((g) / 255.0) blue:((b) / 255.0) alpha:1.0]
et vous pouvez appeler dans l'une de vos classes comme ça
myLabel.textColor = Rgb2UIColor(160, 97, 5);
Ceci est la synax couleur normale
myLabel.textColor = UIColor(red: (160/255.0), green: (97/255.0), blue: (5/255.0), alpha: 1.0)
//The values should be between 0 to 1
Swift n'est pas très amical avec les macros
Les macros complexes sont utilisées en C et en Objective-C mais n’ont pas de contrepartie à Swift. Les macros complexes sont des macros qui ne définissent pas de constantes, y compris les macros entre parenthèses, de type fonction. Vous utilisez des macros complexes en C et Objective-C pour éviter les contraintes de vérification de type ou pour éviter retaper de grandes quantités de code passe-partout. Cependant, les macros peuvent faire débogage et refactoring difficile. Dans Swift, vous pouvez utiliser les fonctions et les génériques pour obtenir les mêmes résultats sans aucun compromis . Par conséquent, les macros complexes qui se trouvent dans les sources C et Objective-C les fichiers ne sont pas mis à la disposition de votre code Swift.
Nous utilisons donc l'extension pour cette
extension UIColor {
convenience init(_ r: Double,_ g: Double,_ b: Double,_ a: Double) {
self.init(red: r/255, green: g/255, blue: b/255, alpha: a)
}
}
Vous pouvez l'utiliser comme
myLabel.textColor = UIColor(160.0, 97.0, 5.0, 1.0)
Vous avez déjà la bonne réponse, mais si vous n'aimez pas l'interface UIColor
comme moi, vous pouvez le faire:
#import "UIColor+Helper.h"
// ...
myLabel.textColor = [UIColor colorWithRGBA:0xA06105FF];
UIColor + Helper.h:
#import <UIKit/UIKit.h>
@interface UIColor (Helper)
+ (UIColor *)colorWithRGBA:(NSUInteger)color;
@end
UIColor + Helper.m:
#import "UIColor+Helper.h"
@implementation UIColor (Helper)
+ (UIColor *)colorWithRGBA:(NSUInteger)color
{
return [UIColor colorWithRed:((color >> 24) & 0xFF) / 255.0f
green:((color >> 16) & 0xFF) / 255.0f
blue:((color >> 8) & 0xFF) / 255.0f
alpha:((color) & 0xFF) / 255.0f];
}
@end
Yeah.ios prend en charge les valeurs RVB comprises entre 0 et 1 seulement.
Plug-in de sélection de couleurs pour Interface Builder
Il y a un sélecteur de couleur sympa de Panic qui fonctionne bien avec IB: http://panic.com/~wade/picker/
Plugin Xcode
Celui-ci vous donne une interface graphique pour choisir les couleurs: http://www.youtube.com/watch?v=eblRfDQM0Go
Code
UIColor *color = [UIColor colorWithRed:(160/255.0) green:(97/255.0) blue:(5/255.0) alpha:1.0];
Pods et bibliothèques
Il y a un joli module nommé MPColorTools
: https://github.com/marzapower/MPColorTools
Les valeurs sont déterminées par le bit de l'image . 8 bit 0 à 255
16 bits ... un nombre ridicule..0 à 65.000 environ.
32 bits valent 0 à 1
J'utilise .004 avec des images 32 bits ... cela donne 1,02 en résultat multiplié par 255