UIButton 状态

Posted

技术标签:

【中文标题】UIButton 状态【英文标题】:UIButton states 【发布时间】:2011-03-24 20:22:32 【问题描述】:

我正在制作多个看起来很像这样的自定义按钮:

这是一个简单的按钮,在“指标视图”中显示为绿色或灰色。我需要解释的是:在 interfacebuilder 中,按钮可以有四种状态;正常、突出显示、选中和禁用。当我为除禁用之外的所有内容提供图像时,我认为正常情况下是没有触摸按钮时,突出显示是当你按住手指时,选择是在你松开手指时。

但是我不认为现在是这样。我使用 touch-up-inside 事件。我需要在按钮上设置 selected/highlighted 等属性是否正确?

感谢您的宝贵时间。

【问题讨论】:

【参考方案1】:

您可能希望设置为选中而不突出显示。 触摸 UIButton 时,突出显示会使按钮变暗一小部分。 UIButton 可以自动修改您的图像,因此通常您不需要提供高亮图像。 禁用是当它被禁用时。 选择是当它被选中时。您可以在事件内部修饰时反转选择标志以制作状态按钮。 [button setSelected:![button isSelected]];

【讨论】:

谢谢你,聪明的 setSelected 方法,没想到会使用。【参考方案2】:

是的,您需要通过将按钮设置为突出显示来响应内部的修饰。

顺便说一句,它是“禁用”而不是取消选择,但听起来你不需要那种状态。

【讨论】:

以上是关于UIButton 状态的主要内容,如果未能解决你的问题,请参考以下文章

禁用 UIButton 的突出显示 UIControl 状态

UIButton的奇怪状态变化(UIControlState)

ios中UIButton选中状态切换

如何检测 UIButton 按下状态? [关闭]

如何在 UITableViewCell 中设置 UIButton 状态?

使用自定义图像添加新的 UIButton“状态”