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

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

4

4 回答 4

5
textField.layer.borderColor= bgcolour.CGColor;
于 2013-05-16T10:33:24.567 回答
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];
于 2013-05-16T10:35:19.093 回答
1

您按照以下步骤操作:

  1. 使用HexToRGB将十六进制值转换为 RGB 。
  2. textfield.layer.borderColor=[UIColor colorWithRed:244/255.00f green:133/255.00f blue:116/255.00f alpha:1.0f];
于 2013-05-16T10:43:22.727 回答
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

@用法 1 (#F13982):

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

@用法2(#eeeeee):

 UIColor *myColor = [UIColor colorWithHex:0xEEEEEEff];
于 2014-01-07T20:22:52.597 回答