Я хочу сделать свои собственные RGB-цвета UIColors
и что я мог бы использовать точно так же, как UIColor blackColor
или любой другой.
Как создать собственный пользовательский UIColor, отличный от заданных?
Ответ 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)
Ответ 7
Используйте initWithRed: зеленый: синий: альфа: или colorWithRed: зеленый: синий: альфа:.
Например:
// 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];