4

ヘッダービューの次のコードを試しました。うまくいきませんでした。デフォルトの色値以外の色を設定する方法。

[header_view setBackgroundColor:[UIColor colorWithRed:10. green:0 blue:0 alpha:0]];
4

4 に答える 4

11
[header_view setBackgroundColor:[UIColor colorWithRed:10/255.0 green:0/255.0 blue:0/255.0 alpha:1]];
于 2012-08-06T09:46:17.507 に答える
8

UIColor.h ヘッダーを参照してください。以下に示します。

+ (UIColor *)blackColor;      // 0.0 white 
+ (UIColor *)darkGrayColor;   // 0.333 white 
+ (UIColor *)lightGrayColor;  // 0.667 white 
+ (UIColor *)whiteColor;      // 1.0 white 
+ (UIColor *)grayColor;       // 0.5 white 
+ (UIColor *)redColor;        // 1.0, 0.0, 0.0 RGB 
+ (UIColor *)greenColor;      // 0.0, 1.0, 0.0 RGB 
+ (UIColor *)blueColor;       // 0.0, 0.0, 1.0 RGB 
+ (UIColor *)cyanColor;       // 0.0, 1.0, 1.0 RGB 
+ (UIColor *)yellowColor;     // 1.0, 1.0, 0.0 RGB 
+ (UIColor *)magentaColor;    // 1.0, 0.0, 1.0 RGB 
+ (UIColor *)orangeColor;     // 1.0, 0.5, 0.0 RGB 
+ (UIColor *)purpleColor;     // 0.5, 0.0, 0.5 RGB 
+ (UIColor *)brownColor;      // 0.6, 0.4, 0.2 RGB 
+ (UIColor *)clearColor;      // 0.0 white, 0.0 alpha 

上記の色は次のコードと同じです。

black:       [UIColor colorWithWhite:0.0f alpha:1.0f];
darkGray:    [UIColor colorWithWhite:0.333f alpha:1.0f];
lightGray:   [UIColor colorWithWhite:0.667f alpha:1.0f];
white:       [UIColor colorWithWhite:1.0f alpha:1.0f];
gray:        [UIColor colorWithWhite:0.5f alpha:1.0f];
red:         [UIColor colorWithRed:255/255.0f green:0/255.0f blue:0/255.0f alpha:1.0f];
green:       [UIColor colorWithRed:0/255.0f green:255/255.0f blue:0/255.0f alpha:1.0f];
blue:        [UIColor colorWithRed:0/255.0f green:0/255.0f blue:255/255.0f alpha:1.0f];
.
.
.

RGB値に色を付ける方法が必要な場合は、UIColorに適用してください。以下の投稿を参照してください

色がウィキペディアまたは他のサイトで見つかりました。

ここに画像の説明を入力

r、g、bの値は次のように適用されます。

[UIColor colorWithRed:158/255.0f green:253/255.0f blue:56/255.0f alpha:1.0f];

ここに画像の説明を入力

于 2012-08-06T09:51:58.443 に答える
4

以下の私のコードにもっと簡単なものを使用したい人のために、私は最近新しいカテゴリを書きUIColorまし. この新しいカテゴリは、他のメソッドが含まれているため、以下のコードと正確には一致しません。メソッドを実行するより効率的な方法を見つけました。UIColor+extensions.hUIColor+extensions.mcolorWithHex:


元の答え

UIColorこのようにメソッドを拡張して、独自の 16 進数カラー コンバーターを作成することもできます。

UIColor_hex.h

#import <UIKit/UIColor.h>
@interface UIColor(MBCategory)
+ (UIColor *)colorWithHexString:(NSString *)hexStr;
@end

UIColor_hex.m

#import "UIColor_Hex.h"
@interface UIColor(HexConverterCategory)

// Takes 0x123456
+ (UIColor *)colorWithHex:(UInt32)color andAlpha:(float)alpha;

@end

@implementation UIColor(HexConverterCategory)

+ (UIColor *)colorWithHex:(UInt32)color andAlpha:(float)alpha
{
    unsigned char r, g, b;
    b = color & 0xFF;
    g = (color >> 8) & 0xFF;
    r = (color >> 16) & 0xFF;
    return [UIColor colorWithRed:(float)r/255.0f green:(float)g/255.0f blue:(float)b/255.0f alpha:alpha];
 }

@end

@implementation UIColor(MBCategory)

 + (UIColor *)colorWithHexString:(NSString *)hexStr 
 {
    float alpha;
    NSString *newHexStr;
    NSCharacterSet *cSet = [NSCharacterSet characterSetWithCharactersInString:@"/-_,~^*&\\ "];
    if(![hexStr hasPrefix:@"#"]) hexStr = [NSString stringWithFormat:@"#%@", hexStr];
    if([hexStr rangeOfCharacterFromSet:cSet].location != NSNotFound) {

       NSScanner *scn = [NSScanner scannerWithString:hexStr];
      [scn scanUpToCharactersFromSet:cSet intoString:&newHexStr];
      alpha = [[[hexStr componentsSeparatedByCharactersInSet:cSet] lastObject] floatValue];

   } else {

      newHexStr = hexStr;
      alpha = 1.0f;

   }

   const char *cStr = [newHexStr cStringUsingEncoding:NSASCIIStringEncoding];
   long x = strtol(cStr+1, NULL, 16);
   return [UIColor colorWithHex:x andAlpha:alpha];
   }
@end

次に、あなたがする必要があるのは

UIColor *myHexColor = [UIColor colorWithHexString:@"#FFFFFF"];

*編集* 必要に応じて「#」を見逃すこともでき、colorWithHexStringはそれを追加します.cSetで設定されたこれらの文字の1つで区切ることにより、最後にアルファを追加することもできます. だからあなたはできる

UIColor *myHexColorWithAlpha = [UIColor colorWithHexString:@"#FFFFFF 0.4"];
UIColor *myHexColorWithAlpha = [UIColor colorWithHexString:@"#FFFFFF/0.4"];
UIColor *myHexColorWithAlpha = [UIColor colorWithHexString:@"#FFFFFF*0.4"];

次に、ヘッダーを設定するには

[header_view setBackgroundColor:[UIColor colorWithHexString:@"#FFFFFF"]];
于 2012-08-06T10:02:33.320 に答える
1

このコードを試してください:

[header_view setBackgroundColor:[UIColor colorWithRed:149.0/255.0f green:149.0/255.0f 
 blue:149.0/255.0f alpha:1.0]];
于 2012-08-06T09:49:54.590 に答える