Reputation: 699
I have tried with following code for my header view. Its not worked. How to set color other than default color values.
[header_view setBackgroundColor:[UIColor colorWithRed:10. green:0 blue:0 alpha:0]];
Upvotes: 4
Views: 26029
Reputation: 12093
For anyone wanting use something simpler to my code below I have recently write a new category for UIColor
which can be found here all you need to do is take the files called UIColor+extensions.h
and UIColor+extensions.m
and add them to your own project. This new category doesn't match the code below exactly as it has some other methods in it and I found a more efficient way of doing the colorWithHex:
method.
You could also make your own Hexadecimal color converter by extending the UIColor
methods like so.
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
Then all you would need to do to is
UIColor *myHexColor = [UIColor colorWithHexString:@"#FFFFFF"];
*EDIT* You can also miss out the '#' if you want and the colorWithHexString will add it, you can also add the alpha on the end by by seperating it with one of these characters that has been set in cSet. So you could do
UIColor *myHexColorWithAlpha = [UIColor colorWithHexString:@"#FFFFFF 0.4"];
UIColor *myHexColorWithAlpha = [UIColor colorWithHexString:@"#FFFFFF/0.4"];
UIColor *myHexColorWithAlpha = [UIColor colorWithHexString:@"#FFFFFF*0.4"];
etc
Then to set the header you could do
[header_view setBackgroundColor:[UIColor colorWithHexString:@"#FFFFFF"]];
Upvotes: 4
Reputation: 1403
[header_view setBackgroundColor:[UIColor colorWithRed:10/255.0 green:0/255.0 blue:0/255.0 alpha:1]];
Upvotes: 11
Reputation: 9600
see the UIColor.h header. will be shown below.
+ (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
as the above color is same following code.
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];
.
.
.
if you want how to color rgb value apply to UIColor. see the below post
you want color found wikipedia or else site.
r, g, b values are apply as follows.
[UIColor colorWithRed:158/255.0f green:253/255.0f blue:56/255.0f alpha:1.0f];
Upvotes: 8
Reputation: 1145
try this code:
[header_view setBackgroundColor:[UIColor colorWithRed:149.0/255.0f green:149.0/255.0f
blue:149.0/255.0f alpha:1.0]];
Upvotes: 1