我想创建自己的UIColors
RGB颜色,我可以使用UIColor blackColor
或其他任何颜色。
答案 0 :(得分:56)
您可以使用类别为UIColor类编写自己的方法。
#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];
}
通过这种方式,您可以创建一种新颜色,现在可以像
一样调用它[UIColor MyColor];
您还可以实现此方法以获取随机颜色。 希望这会有所帮助。
答案 1 :(得分:27)
我需要定义一些自定义颜色,以便在应用中的多个位置使用 - 但颜色特定于该应用。我考虑过使用类别,但不希望每次都包含额外的文件。因此,我在App代理中创建了几个静态方法。
在MyAppDelegate.h中
+ (UIColor*)myColor1;
在MyAppDelegate.m中
+ (UIColor*)myColor1 {
return [UIColor colorWithRed:26.0f/255.0f green:131.0f/255.0f blue:32.0f/255.0f alpha:1.0f];
}
我有每种颜色的方法,或者你可以做一个方法并添加一个参数。
然后我可以在应用程序的任何地方使用它:
myView.backgroundColor = [MyAppDelegate myColor1];
我希望这有助于其他人。
答案 2 :(得分:9)
Swift 3
创建Swift扩展允许您定义自己的自定义颜色,并像内置颜色一样使用它们。
的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)
}
}
<强>用法:强>
view.backgroundColor = UIColor.customGreen
答案 3 :(得分:8)
[UIColor colorWithRed:51.0 / 255.0, green:0.0, blue:153.0 / 255.0];
只要在分区中使用浮点值,就不必投射任何东西。确保使用浮点值。例如:33 / 255 = 0
。哪个会变黑。
答案 4 :(得分:7)
有两种方法可以创建颜色。
我更喜欢使用RGB方法。如果你使用RGB值,将它们除以255(我不记得为什么,但我知道你需要这样做)。
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]];
希望这会有所帮助.....
答案 5 :(得分:3)
对于Swift:
let swiftColor = UIColor(red: 1, green: 165/255, blue: 233, alpha: 1)
答案 6 :(得分:2)
使用initWithRed:green:blue:alpha:或colorWithRed:green:blue:alpha:。
例如:
// 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];