我如何使自己的自定义UIColor不是预设的?

我想做我自己的UIColors的RGB颜色,我可以使用就像UIColor blackColor或任何其他。

您可以使用类别为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]; } 

通过这种方式,你创build一个新的颜色,现在你可以这样称呼它

 [UIColor MyColor]; 

你也可以实现这个方法来获得随机的颜色。 希望这可以帮助。

我需要定义一些自定义颜色供应用程序中的几个地方使用 – 但颜色是特定于该应用程序的。 我想过使用类别,但不想每次都包含额外的文件。 因此,我在App委托中创build了几个静态方法。

在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]; 

我希望这可以帮助别人。

 [UIColor colorWithRed:51.0 / 255.0, green:0.0, blue:153.0 / 255.0]; 

只要你在你的分区中使用浮点值,你不需要投什么东西。 确保您使用浮点值。 例如: 33 / 255 = 0 。 哪个会变黑。

有几种创build颜色的方法。

我更喜欢使用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]]; 

希望这可以帮助…..

Swift 3

创build一个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 

在这里输入图像说明

对于Swift:

 let swiftColor = UIColor(red: 1, green: 165/255, blue: 233, alpha: 1) 

使用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];