如何删除禁用的 UIButton 的灰色外观

Posted

技术标签:

【中文标题】如何删除禁用的 UIButton 的灰色外观【英文标题】:How to remove the greyed out look of a disbled UIButton 【发布时间】:2011-12-24 21:00:08 【问题描述】:

我有一个 UIButton,当它处于禁用状态时,我希望它看起来与处于正常状态时完全相同。现在它看起来有点灰暗。

【问题讨论】:

如果它看起来可以正常运行,用户如何知道它被禁用了? 启用状态有一个背景图片,上面写着“点击继续”或类似的内容。当按钮不可点击时,它不会有任何这样的消息。 【参考方案1】:

不要使用 enabled 属性或 setEnabled:NO 方法,而是使用:

[myButton setUserInteractionEnabled:NO];

这样可以防止按钮被触摸,但不会改变他的外观!

另一种方法是,如果您的按钮是自定义按钮并且有图片:

[button setImage:someImage forState:UIControlStateNormal];
[button setImage:someImage forState:UIControlStateDisabled];
[button setEnabled:NO];

【讨论】:

这将做 OP 想要的,但正如 BoltClock 所说,禁用按钮而不让用户知道它已被禁用可能会令人困惑。 我同意,但有时您与某些类型的客户打交道,他们会以某种方式得到他们想要的东西,并不总是由开发人员决定... 有时对我来说总是如此)你只需要对客户的坏主意说“不”。 谢谢,第一种方法有效。我同意 Rickay 的观点,但在我的情况下,我希望背景图像在所有情况下都完全可见。

以上是关于如何删除禁用的 UIButton 的灰色外观的主要内容,如果未能解决你的问题,请参考以下文章

如何在运行时将 UITableViewCell 从启用更改为禁用,使其文本从黑色变为灰色?

如何在 Swing 上将 ImageIcon 变为灰色

将按钮禁用为灰色-Objective C

使用imageView外观禁用UIButton而不将isEnabled设置为false

如何禁用 UIButton 突出显示操作

如何在nib文件中按下时禁用UIButton高亮显示?