如何将 UIButton 的高亮属性设置为 NO?

Posted

技术标签:

【中文标题】如何将 UIButton 的高亮属性设置为 NO?【英文标题】:How to set UIButton's highlighted property to NO? 【发布时间】:2012-08-13 02:33:13 【问题描述】:

当我触摸UIButton 时,如何使它不突出显示。但是,我不想完全避开突出显示的功能。我只想在开始拖动时使突出显示的停止。不过我试过了

-(IBAction)stopHighlighting:(UIButton *)sender// i hooked this up to IB for touchDragInside


sender.highlighted=NO;
//this doesnt work at all

【问题讨论】:

【参考方案1】:

问题是系统会覆盖你的逻辑。它调用目标方法 before 使图像变暗以突出显示,因此基本上您将其设置为NO,然后将其设置回YES,您将什么也看不到。你有两个选择:

1) 使用 dispatch_async 将您的调用延迟到突出显示,直到系统设置它之后。

2) 禁用运行时突出显示并手动切换图像。

【讨论】:

以上是关于如何将 UIButton 的高亮属性设置为 NO?的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用 UIButton 的高亮控制状态?

UIButton 高亮设置不会粘住

标准 UIButton isAccessibilityElement 默认返回 NO

UIButton:为选中的高亮 UI 状态设置背景颜色(不是图像)

UIButton的状态

向 UIButton 添加其他视图