Photoshop の色の RGB 値を使用しており、値は Xcode で同じ値を使用しています。Color-R-160、G-97、B-5... Photoshop の色は黄色がかっていますが、Xcode で使用すると
myLabel.textColor = [UIColor colorWithRed:160 green:97 blue:5 alpha:1] ;
色が白っぽく見える。
この違いはなぜ起こるのでしょうか?
Photoshop の色の RGB 値を使用しており、値は Xcode で同じ値を使用しています。Color-R-160、G-97、B-5... Photoshop の色は黄色がかっていますが、Xcode で使用すると
myLabel.textColor = [UIColor colorWithRed:160 green:97 blue:5 alpha:1] ;
色が白っぽく見える。
この違いはなぜ起こるのでしょうか?
0 から 1.0 までの値を指定する必要があります。したがって、RGB 値を 255 で割ります。
myLabel.textColor= [UIColor colorWithRed:(160/255.0) green:(97/255.0) blue:(5/255.0) alpha:1] ;
アップデート:
このマクロも使えます
#define Rgb2UIColor(r, g, b) [UIColor colorWithRed:((r) / 255.0) green:((g) / 255.0) blue:((b) / 255.0) alpha:1.0]
そして、このようにクラスのいずれかを呼び出すことができます
myLabel.textColor = Rgb2UIColor(160, 97, 5);
これは通常の色シナックスです
myLabel.textColor = UIColor(red: (160/255.0), green: (97/255.0), blue: (5/255.0), alpha: 1.0)
//The values should be between 0 to 1
Swift はマクロにあまり友好的ではない
複雑なマクロは C と Objective-C で使用されますが、Swift には対応するものはありません。複雑なマクロは、定数を定義しないマクロであり、括弧で囲まれた関数のようなマクロが含まれます。C および Objective-C で複雑なマクロを使用して、型チェックの制約を回避したり、大量のボイラープレート コードの再入力を回避したりします。ただし、マクロを使用すると、デバッグやリファクタリングが困難になる場合があります。Swift では、関数とジェネリックを使用して、妥協することなく同じ結果を得ることができます。したがって、C および Objective-C ソース ファイルにある複雑なマクロは、Swift コードで使用できません。
したがって、これには拡張機能を使用します
extension UIColor {
convenience init(_ r: Double,_ g: Double,_ b: Double,_ a: Double) {
self.init(red: r/255, green: g/255, blue: b/255, alpha: a)
}
}
次のように使用できます
myLabel.textColor = UIColor(160.0, 97.0, 5.0, 1.0)
あなたはすでに正しい答えを得ていますが、UIColor
私のようなインターフェースが嫌いな場合は、これを行うことができます:
#import "UIColor+Helper.h"
// ...
myLabel.textColor = [UIColor colorWithRGBA:0xA06105FF];
UIColor + Helper.h:
#import <UIKit/UIKit.h>
@interface UIColor (Helper)
+ (UIColor *)colorWithRGBA:(NSUInteger)color;
@end
UIColor + Helper.m:
#import "UIColor+Helper.h"
@implementation UIColor (Helper)
+ (UIColor *)colorWithRGBA:(NSUInteger)color
{
return [UIColor colorWithRed:((color >> 24) & 0xFF) / 255.0f
green:((color >> 16) & 0xFF) / 255.0f
blue:((color >> 8) & 0xFF) / 255.0f
alpha:((color) & 0xFF) / 255.0f];
}
@end
Yeah.ios は、0 から 1 までの範囲の RGB valur のみをサポートします。その近い範囲 [0,1]
Interface Builder のカラー ピッカー プラグイン
IB でうまく動作する Panic の素敵なカラー ピッカーがあります: http://panic.com/~wade/picker/
Xcode プラグイン
これは、色を選択するための GUI を提供します: http://www.youtube.com/watch?v=eblRfDQM0Go
Objective-C
UIColor *color = [UIColor colorWithRed:(160/255.0) green:(97/255.0) blue:(5/255.0) alpha:1.0];
迅速
let color = UIColor(red: 160/255, green: 97/255, blue: 5/255, alpha: 1.0)
ポッドとライブラリ
という名前の素敵なポッドがありますMPColorTools
: https://github.com/marzapower/MPColorTools
値はイメージのビットによって決まります。8ビット 0~255
16ビット...ばかげた数..約0から65,000。
32 ビットは 0 から 1 です
私は32ビット画像で.004を使用しています...これは、255を掛けると結果として1.02になります