UIColors
であり、UIColor blackColor
や他の色と同じように使用できる独自のRGBカラーを作成したい。
カテゴリを使用して、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];
このメソッドを実装してランダムな色を取得することもできます。お役に立てれば。
アプリのいくつかの場所で使用するためにいくつかのカスタム色を定義する必要がありましたが、色はそのアプリに固有です。カテゴリを使用することを考えましたが、毎回含める追加のファイルを用意したくありませんでした。そのため、Appデリゲートにいくつかの静的メソッドを作成しました。
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];
これが他の誰かの役に立つことを願っています。
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
[UIColor colorWithRed:51.0 / 255.0, green:0.0, blue:153.0 / 255.0];
除算で浮動小数点値を使用する限り、何もキャストする必要はありません。必ず浮動小数点値を使用してください。例えば: 33 / 255 = 0
。どちらが黒くなるでしょう。
色を作成する方法はいくつかあります。
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]];
お役に立てれば.....
Swiftの場合:
let swiftColor = UIColor(red: 1, green: 165/255, blue: 233, alpha: 1)
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];