2011-11-21 145 views
1

我想知道是否可以更改在UIButton上启用showsTouchOnHighlighted选项时显示的发光颜色。 谢谢iOS - UIButton显示突出显示颜色

+0

有什么东西在这里解决的解决办法http://stackoverflow.com/问题/ 626965 /创建高光效果在信息黑暗按钮在白色背景 – Denis

+0

@Denis好,但他使用图像,我想以编程方式更改发光颜色。可能吗? –

+1

nope,这不是afaik – Denis

回答

4

根据我,我们不能改变按钮的颜色。但是你可以改变它的形象。您可以为所有可用的按钮状态设置图像。

- (空)setImage:(UIImage的*)图像forState:(UIControlState)状态

在这里你可以找到差不多的更多细节:UIButton Class Reference

选择你的状态UIControlStateNormal,UIControlStateSelected或UIControlStateHighlighted根据您的要求。

1

一个图像可以用的UIColor来创造,所以我们需要添加类似的东西:

[button setBackgroundImage:[self imageWithColor:[UIColor lightGrayColor]] 
forState:UIControlStateHighlighted]; 

- 类似

- (UIImage *)imageWithColor:(UIColor *)color 
{ 
    CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f); 
    UIGraphicsBeginImageContext(rect.size); 
    CGContextRef context = UIGraphicsGetCurrentContext(); 

    CGContextSetFillColorWithColor(context, [color CGColor]); 
    CGContextFillRect(context, rect); 

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    return image; 
} 
相关问题