プリセット以外の独自のカスタム UIColor を作成するにはどうすればよいですか?
質問
独自の 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];
また、ランダムな色を得るために、このメソッドを実装することができます。 この情報がお役に立てば幸いです。
他のヒント
私はアプリでいくつかの場所で使用するためのカスタムカラーのカップルを定義するために必要な - しかし、色は、そのアプリケーションに固有のものです。私は、カテゴリを使用して考えたが、すべての時間を含めるように余分なファイルを持っている必要はありませんでした。従って私は私のアプリデリゲートに静的メソッドのカップルを作成しました。
で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
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]];
ホープ、このことができます.....
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];