【发布时间】:2017-03-09 19:04:07
【问题描述】:
我正在尝试使按钮显示为已禁用,但实际上并未禁用它。
我想要灰色的颜色。
按钮是在界面生成器中输入Custom。
它有一张背景图片。
我不想弄乱图像状态,我只想随时将其更改为灰色,就像设置 myButton.enabled = NO 将其设置为灰色一样。
所以我尝试在 viewDidLoad 中设置someButton.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed,甚至进一步进入应用程序,它仍然呈现典型的亮蓝色。
按钮上是否还有其他属性我需要设置/更改才能自己控制 tintAdjustmentMode?p>
我什至尝试了自己的按钮,使用以下代码,但也没有用。
@implementation TintableUIButton
-(id)init
{
self = [super init];
if (self) {
self.tintColor = [UIColor grayColor];
self.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed;
}
return self;
}
@end
【问题讨论】:
-
为什么不直接将 UIButton 颜色属性设置为您正在寻找的灰色颜色。 .tintColor / .titleColor 等
-
@Daniel ~ 那也不行。
myButton.tintColor = [UIColor grayColor]什么都不做。色调在整个层次结构中得到了强有力的强制执行,我正试图获得对它的一盎司控制。 -
自定义按钮不服从色调。您必须自己重新着色图像。这是我为按钮标题的文本执行此操作的示例。 github.com/mattneub/Programming-iOS-Book-Examples/blob/master/…
-
@matt。是的,看起来我唯一的选择是
myButton setImage:forState:,只需交换预着色的图像。哦,好吧。 -
正是我想的那种事情。
标签: ios objective-c uibutton