如何在ios中将十六进制颜色设置为textfield边框

时间:2013-05-16 10:31:12

标签: iphone ios uitextfield border-color

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

有谁能说如何将UIColor对象“bgcolor”设置为Textfield边框?

4 个答案:

答案 0 :(得分:5)

textField.layer.borderColor= bgcolour.CGColor;

答案 1 :(得分:5)

首先,您可以使用此函数获取UIColor字符串Hex

 + (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];
    }

并且要更改边框颜色,请尝试此

 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];

答案 2 :(得分:1)

您可以按照以下步骤操作:

  1. 将十六进制值转换为RGB使用HexToRGB
  2. textfield.layer.borderColor=[UIColor colorWithRed:244/255.00f green:133/255.00f blue:116/255.00f alpha:1.0f];

答案 3 :(得分:0)

的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];