Я хочу сделать свои собственные цвета RGB, которые являются UIColors
и это я мог использовать точно так же, как UIColor blackColor
или любой другой.
Вы можете написать свой собственный метод для класса 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];
Вы также можете реализовать этот метод для получения случайного цвета. Надеюсь, это поможет.
Есть несколько способов создать цвет.
Я предпочитаю использовать метод 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]];
Надеюсь, это поможет .....
Используйте initWithRed:green:blue:alpha: или colorWithRed:green:blue:alpha:.
Например:
// 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];
Мне нужно было определить пару пользовательских цветов для использования в нескольких местах в приложении - но цвета специфичны для этого приложения. Я думал об использовании категорий, но не хотел иметь дополнительные файлы, чтобы включить каждый раз. Поэтому я создал пару статических методов в моем делегате приложения.
В 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];
Я надеюсь, что это поможет кому-то еще.