¿Cómo hago mi propia de UIColor personalizado distinto de los fijados previamente?

StackOverflow https://stackoverflow.com/questions/1956587

  •  21-09-2019
  •  | 
  •  

Pregunta

Quiero hacer mis propios colores RGB que son UIColors y que podría utilizar como UIColor blackColor o cualquier otro.

¿Fue útil?

Solución

Usted puede escribir su propio método para la clase UIColor utilizando categorías.

#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 esta manera, se crea un nuevo color y ahora se le puede llamar como

[UIColor MyColor];

También puede aplicar este método para obtener color al azar. Espero que esto ayude.

Otros consejos

que necesitaba para definir un par de colores personalizados para su uso en varios lugares en una aplicación - pero los colores son específicos para esa aplicación. Pensé en usar las categorías, pero no quieren tener archivos adicionales para incluir cada vez. Por lo tanto, he creado un par de métodos estáticos en mi Aplicación delegado.

En MyAppDelegate.h

+ (UIColor*)myColor1;

En MyAppDelegate.m

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

Tengo un método por color, o se podría hacer un solo método y añadir un parámetro.

A continuación, puedo usar en cualquier parte de la aplicación como esta:

myView.backgroundColor = [MyAppDelegate myColor1];

Espero que esto ayude a alguien más.

Swift 3

Creación de una extensión Swift le permite definir sus propios colores personalizados y utilizarlos como el construido en colores.

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)
    }
}

Uso:

view.backgroundColor = UIColor.customGreen

 introducir descripción de la imagen aquí

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

Mientras se utiliza un valor de punto flotante en su división no tienen que desechar nada. Asegúrese de que utiliza los valores de punto flotante. Por ejemplo: 33 / 255 = 0. Que se convertirá en negro.

Hay un par de maneras de crear un color.

Yo prefiero usar el método RGB. Si utiliza los valores RGB, dividirlos por 255 (que no recuerdo por qué, pero sé que necesita para hacerlo).

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

Espero que esto ayude .....

Para Swift:

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

Con initWithRed: verde: azul: alpha: o colorWithRed: verde: azul: alpha:.

Por ejemplo:

// 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];
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top