Je veux créer mes propres couleurs RVB qui sont UIColors
et que je pourrais utiliser comme UIColor blackColor
ou tout autre.
Vous pouvez écrire votre propre méthode pour la classe UIColor à l'aide de catégories.
#import <UIKit/UIKit.h>
@interface UIColor(NewColor)
+(UIColor *)MyColor;
@end
#import "UIColor-NewColor.h"
@implementation UIColor(NewColor)
+(UIColor *)MyColor {
return [UIColor colorWithRed:0.0-1.0 green:0.0-1.0 blue:0.0-1.0 alpha:1.0f];
}
De cette façon, vous créez une nouvelle couleur et maintenant vous pouvez l'appeler comme
[UIColor MyColor];
Vous pouvez également implémenter cette méthode pour obtenir une couleur aléatoire. J'espère que cela t'aides.
J'avais besoin de définir quelques couleurs personnalisées à utiliser à plusieurs endroits dans une application - mais les couleurs sont spécifiques à cette application. J'ai pensé à utiliser des catégories, mais je ne voulais pas avoir de fichiers supplémentaires à inclure à chaque fois. J'ai donc créé quelques méthodes statiques dans mon délégué d'application.
Dans MyAppDelegate.h
+ (UIColor*)myColor1;
Dans MyAppDelegate.m
+ (UIColor*)myColor1 {
return [UIColor colorWithRed:26.0f/255.0f green:131.0f/255.0f blue:32.0f/255.0f alpha:1.0f];
}
J'ai une méthode par couleur, ou vous pouvez faire une seule méthode et ajouter un paramètre.
Je peux ensuite l'utiliser n'importe où dans l'application comme ceci:
myView.backgroundColor = [MyAppDelegate myColor1];
J'espère que ça aidera quelqu'un d'autre.
Swift 3
La création d'une extension Swift vous permet de définir vos propres couleurs personnalisées et de les utiliser comme les couleurs intégrées.
UIColor + CustomColor.Swift
import UIKit
extension UIColor {
class var customGreen: UIColor {
let darkGreen = 0x008110
return UIColor.rgb(fromHex: darkGreen)
}
class func rgb(fromHex: Int) -> UIColor {
let red = CGFloat((fromHex & 0xFF0000) >> 16) / 0xFF
let green = CGFloat((fromHex & 0x00FF00) >> 8) / 0xFF
let blue = CGFloat(fromHex & 0x0000FF) / 0xFF
let alpha = CGFloat(1.0)
return UIColor(red: red, green: green, blue: blue, alpha: alpha)
}
}
Utilisation:
view.backgroundColor = UIColor.customGreen
[UIColor colorWithRed:51.0 / 255.0, green:0.0, blue:153.0 / 255.0];
Tant que vous utilisez une valeur à virgule flottante dans votre division, vous n'avez rien à lancer. Assurez-vous d'utiliser des valeurs à virgule flottante. Par exemple: 33 / 255 = 0
. Qui deviendra noir.
Il existe plusieurs façons de créer une couleur.
Je préfère utiliser la méthode RGB. Si vous utilisez les valeurs RVB, divisez-les par 255 (je ne me souviens pas pourquoi, mais je sais que vous devez le faire).
float rd = 225.00/255.00;
float gr = 177.00/255.00;
float bl = 140.00/255.00;
[label setTextColor:[UIColor colorWithRed:rd green:gr blue:bl alpha:1.0]];
J'espère que cela t'aides.....
Pour Swift:
let swiftColor = UIColor(red: 1, green: 165/255, blue: 233, alpha: 1)
Utilisez initWithRed: vert: bleu: alpha: ou colorWithRed: vert: bleu: alpha: .
Par exemple:
// create new autoreleased UIColor object named "myColor"
UIColor *myColor = [UIColor colorWithRed:0.5f green:0.5f blue:0.5f alpha:1.0f];
// create new retained UIColor object named "myColor2"
UIColor *myColor2 = [[UIColor alloc] initWithRed:0.5f green:0.5f blue:0.5f alpha:1.0f];