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.h并将UIColor+extensions.m它们添加到您自己的项目中。这个新类别与下面的代码不完全匹配,因为其中包含其他一些方法,我找到了一种更有效的方法来执行该colorWithHex:方法。


原始答案

UIColor您还可以通过扩展这样的方法来制作自己的十六进制颜色转换器。

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 中设置的这些字符之一分隔它来添加最后的 alpha。所以你可以做

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

ETC

然后设置你可以做的标题

[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 回答