Как я делаю свой собственный UIColor's кроме предварительно установленных?

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

36
задан Suragch 11 October 2016 в 10:51
поделиться

4 ответа

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

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

56
ответ дан 27 November 2019 в 05:16
поделиться

Есть несколько способов создать цвет.

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

Надеюсь, это поможет .....

7
ответ дан 27 November 2019 в 05:16
поделиться

Используйте 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];
2
ответ дан 27 November 2019 в 05:16
поделиться

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

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

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

27
ответ дан 27 November 2019 в 05:16
поделиться