Cómo puedo hacer mi propio personalizado UIColor otro de los datos preestablecidos?

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

InformationsquelleAutor Jab | 2009-12-24

7 Kommentare

  1. 56

    Usted puede escribir su propio método para UIColor clase 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 se puede aplicar este método para obtener el color al azar.
    Espero que esto ayude.

    • Estoy usando una solución similar, pero tengo que se llama algo así como: [[UIColor alloc] MyColor] para que funcione. Hay una manera de no tener que asignar?
    • Asegúrese de que está utilizando un + frente a la declaración del método, no un -. Esto hará que sea un método de clase frente a un método de instancia.
  2. 27

    Yo necesarios para definir un par de colores personalizados para el uso en varios lugares en una app – pero los colores son específicos para la aplicación. Pensé acerca del uso de las categorías, pero no tenía ganas de archivos adicionales para incluir cada vez. 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 el color, o usted podría hacer un método único y agregar un parámetro.

    Luego se pueden utilizar en cualquier lugar en la aplicación de este:

    myView.backgroundColor = [MyAppDelegate myColor1];

    Espero que esto ayude a alguien más.

    • Aplicación de los delegados quieren ser buenos. Pero, a continuación, aprender acerca de las cosas. Ellos aprenden acerca de las cosas que no tienen que saber.
  3. 9

    Swift 3

    La creación de una rápida extensión le permite definir sus propios colores personalizados y utilizarlos sólo 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

    Cómo puedo hacer mi propio personalizado UIColor otro de los datos preestablecidos?

    • Esto debe ser en la parte superior de la lista de respuestas.
  4. 8
    [UIColor colorWithRed:51.0 / 255.0, green:0.0, blue:153.0 / 255.0];

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

  5. 7

    Hay un par de formas para crear un color.

    Yo prefiero usar el método RGB. Si utiliza los valores RGB, divídalos por 255 (no recuerdo por qué, pero sé que es necesario 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…..

    • El rojo, verde, azul y alfa valores que se pasan al constructor de la necesidad de estar entre 0.0 y 1.0.
  6. 2

    Uso 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];
    • Pero que me permiten decir algo como: UIColor *orangeColor = [UIColor alloc] initWithRed:greenLblue:alpha:]; y, a continuación, utilizar más tarde?
    • Sí, con la sintaxis correcta. He añadido el código de los ejemplos. Asegúrese de gestionar adecuadamente la memoria: si utiliza la clase conveniencia constructor, entonces usted necesita para conservar el color del objeto o conjunto de una retenido propiedad.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea