2011-11-21 231 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; 
}