Подтвердить что ты не робот

Как создать собственный пользовательский UIColor, отличный от заданных?

Я хочу сделать свои собственные RGB-цвета UIColors и что я мог бы использовать точно так же, как UIColor blackColor или любой другой.

4b9b3361

Ответ 1

Вы можете написать свой собственный метод для класса 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];

Вы также можете реализовать этот метод для получения случайного цвета. Надеюсь, это поможет.

Ответ 2

Мне нужно было определить пару пользовательских цветов для использования в нескольких местах приложения - но цвета специфичны для этого приложения. Я думал об использовании категорий, но не хотел включать лишние файлы каждый раз. Поэтому я создал несколько статических методов в своем делете приложения.

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

Я надеюсь, что это поможет кому-то другому.

Ответ 3

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

Пока вы используете значение с плавающей запятой в своем подразделении, вам не нужно ничего делать. Убедитесь, что вы используете значения с плавающей запятой. Например: 33 / 255 = 0. Что станет черным.

Ответ 4

Существует несколько способов создания цвета.

Я предпочитаю использовать метод 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

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

введите описание изображения здесь

Ответ 6

Для Swift:

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