Question

UIColor *bgcolour = [BackgroundLayer colorWithHexString:@"F13982"];
textField.layer.borderColor=[[UIColor colorWithCGColor:(__bridge CGColorRef)(bgcolour)] CGColor];

Can anyone say how to set the UIColor object "bgcolor" to the Textfield border?

Was it helpful?

Solution

textField.layer.borderColor= bgcolour.CGColor;

OTHER TIPS

First of all you can get the UIColor with the Hex String using this function

 + (UIColor *)colorFromHexString:(NSString *)hexString {
        unsigned rgbValue = 0;
        NSScanner *scanner = [NSScanner scannerWithString:hexString];
        [scanner setScanLocation:1]; // bypass '#' character
        [scanner scanHexInt:&rgbValue];
        return [UIColor colorWithRed:((rgbValue & 0xFF0000) >> 16)/255.0 green:((rgbValue & 0xFF00) >> 8)/255.0 blue:(rgbValue & 0xFF)/255.0 alpha:1.0];
    }

and for changing the border color try this

 UITextField *theTextFiels=[[UITextField alloc]initWithFrame:CGRectMake(40, 40, 150, 30)];
        theTextFiels.borderStyle=UITextBorderStyleNone;
        theTextFiels.layer.cornerRadius=8.0f;
        theTextFiels.layer.masksToBounds=YES;
            theTextFiels.backgroundColor=[UIColor redColor];
        theTextFiels.layer.borderColor=[[UIColor blackColor]CGColor];
        theTextFiels.layer.borderWidth= 1.0f;

        [self.view addSubview:theTextFiels];
        [theTextFiels release];

You follow the following steps:

  1. Convert hex value to RGB use HexToRGB.
  2. textfield.layer.borderColor=[UIColor colorWithRed:244/255.00f green:133/255.00f blue:116/255.00f alpha:1.0f];

UIColor+HexColor.h

//
//  UIColor+HexColor.h
//

#import <Foundation/Foundation.h>

@interface UIColor (HexColor)

//(int) color = RGBA hexadecimal - 8 hexadecimal digits, specifying 8 bits each of red, green, and blue, followed by 8 bits of alpha
//@usage: UIColor *myColor = [UIColor colorWithHex:0xEEEEEEff];
+ (UIColor* ) colorWithHex:(int)color;
@end

UIColor+HexColor.m:

//
//  UIColor+HexColor.m
//

#import "UIColor+HexColor.h"

@implementation UIColor (HexColor)

+ (UIColor* ) colorWithHex:(int)color
{

    float red = (color & 0xff000000) >> 24;
    float green = (color & 0x00ff0000) >> 16;
    float blue = (color & 0x0000ff00) >> 8;
    float alpha = (color & 0x000000ff);

    return [UIColor colorWithRed:red/255.0 green:green/255.0 blue:blue/255.0 alpha:alpha/255.0];
}
@end

@usage 1 (#F13982):

textField.layer.borderColor = [UIColor colorWithHex:0xF13982ff];

@usage 2 (#eeeeee):

 UIColor *myColor = [UIColor colorWithHex:0xEEEEEEff];
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top