iOS - UIButton 显示触摸高亮颜色
Posted
技术标签:
【中文标题】iOS - UIButton 显示触摸高亮颜色【英文标题】:iOS - UIButton shows touch on highlight color 【发布时间】:2012-01-03 00:37:35 【问题描述】:我想知道在 UIButton 上启用 showTouchOnHighlighted 选项时是否可以更改发光颜色。 谢谢
【问题讨论】:
这里解决了类似的问题作为解决方法***.com/questions/626965/… @Denis 很好,但他使用图像,我想以编程方式更改发光颜色。有可能吗? 【参考方案1】:据我所知,我们无法更改按钮的颜色。但是你可以改变它的形象。您可以为所有可用的按钮状态设置图像。
- (void)setImage:(UIImage *)image forState:(UIControlState)state
您可以在此处找到有关相同内容的更多详细信息:UIButton Class Reference
根据您的要求选择您的状态为 UIControlStateNormal、UIControlStateSelected 或 UIControlStateHighlighted。
【讨论】:
【参考方案2】:可以使用 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;
【讨论】:
以上是关于iOS - UIButton 显示触摸高亮颜色的主要内容,如果未能解决你的问题,请参考以下文章