如何制作我自己的自定义UIColor而不是预设的?

Jab*_*Jab 36 iphone uicolor ios

我想制作我自己的RGB颜色,UIColors并且我可以使用它UIColor blackColor或任何其他颜色.

EEE*_*EEE 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];
}
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您可以创建一种新颜色,现在可以将其称为

[UIColor MyColor];
Run Code Online (Sandbox Code Playgroud)

您还可以实现此方法以获取随机颜色.希望这可以帮助.


Jam*_*mes 27

我需要定义一些自定义颜色,以便在应用程序的多个位置使用 - 但颜色是特定于该应用程序的.我考虑过使用类别,但不希望每次都包含额外的文件.因此,我在App代理中创建了几个静态方法.

在MyAppDelegate.h中

+ (UIColor*)myColor1;
Run Code Online (Sandbox Code Playgroud)

在MyAppDelegate.m中

+ (UIColor*)myColor1 {  
return [UIColor colorWithRed:26.0f/255.0f green:131.0f/255.0f blue:32.0f/255.0f alpha:1.0f];  
}
Run Code Online (Sandbox Code Playgroud)

我有一个每种颜色的方法,或者你可以做一个方法并添加一个参数.

我可以在应用程序的任何地方使用它,如下所示:

myView.backgroundColor = [MyAppDelegate myColor1];
Run Code Online (Sandbox Code Playgroud)

我希望这有助于其他人.

  • 应用代表希望变得更好.但后来他们了解了事情.他们了解他们没有业务知道的事情. (6认同)

Sur*_*gch 9

斯威夫特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)
    }
}
Run Code Online (Sandbox Code Playgroud)

用法:

view.backgroundColor = UIColor.customGreen
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


小智 8

[UIColor colorWithRed:51.0 / 255.0, green:0.0, blue:153.0 / 255.0];
Run Code Online (Sandbox Code Playgroud)

只要您在分区中使用浮点值,就不必投射任何东西.确保使用浮点值.例如:33 / 255 = 0.哪个会变黑.


iPh*_*Guy 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]];
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.....

  • 传递给构造函数的红色,绿色,蓝色和alpha值需要介于0.0和1.0之间. (2认同)