绘制backgroundcolor&边框与背景PNGs

我想为我的iPad应用程序的大多数button特定的RGBhex颜色。

我所做的是:我已经在我的项目中实现了UIButton子类,它模拟所需的背景颜色,文本颜色和button边框 – 然后我在我需要UIButton项目中随处使用它。

我的用户界面/用户体验devise师不提供PNG,他坚持我模仿相同颜色的网站button有hex代码。 我更多的是一个背景PNG的球迷。

现在,这个问题与编程的关系,你可能想知道的是,我正在访问.layer.borderWidth.layer.borderColor属性,这个属性最终被无处不在使用。

那么,这种方法是否对应用程序有所帮​​助,而不是使用背景PNG?

注意 (如果相关) :所有button的大小相同。

这可能会帮助你。

 - (unsigned int)intFromHexString:(NSString *)hexStr { @try { unsigned int hexInt = 0; NSScanner *scanner = [NSScanner scannerWithString:hexStr]; [scanner setCharactersToBeSkipped:[NSCharacterSet characterSetWithCharactersInString:@"#"]]; [scanner scanHexInt:&hexInt]; return hexInt; } @catch (NSException *exception) { } } - (UIColor *)getUIColorObjectFromHexString:(NSString *)hexStr alpha:(CGFloat)alpha { unsigned int hexint = [self intFromHexString:hexStr]; UIColor *color = [UIColor colorWithRed:((CGFloat) ((hexint & 0xFF0000) >> 16))/255 green:((CGFloat) ((hexint & 0xFF00) >> 8))/255 blue:((CGFloat) (hexint & 0xFF))/255 alpha:alpha]; return color; } 

这个函数会给你你可以在你的button中设置的hexstring的颜色

你可以自己制作UIImage,并设置你的button图像:

 + (UIImage *)imageFromColor:(UIColor *)color { CGRect rect = CGRectMake(0, 0, 1, 1); UIGraphicsBeginImageContext(rect.size); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFillColorWithColor(context, [color CGColor]); CGContextFillRect(context, rect); UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image; } 

您还需要将HEX RGB颜色代码转换为UIColor