如何防止 UIButton 在触摸时发生变化?

Posted

技术标签:

【中文标题】如何防止 UIButton 在触摸时发生变化?【英文标题】:How to prevent a UIButton from changing when touched? 【发布时间】:2011-10-31 15:21:22 【问题描述】:

我有一个按钮,它几乎占据了整个 xib,因此如果原始视图的任何部分被触摸,我可以在屏幕上推送另一个 viewController。我已经为这个按钮创建了一个 IBOutlet 并且效果很好,但是我不希望整个窗口在被触摸时变成“蓝色”(类似于按下小按钮时)。我尝试了在类似的 SO 帖子中找到的以下两种方法:How can I prevent a UIButton from highlighting when pressed?,但两种方法都不起作用。我还有什么需要设置的吗?

- (void)viewDidLoad

    [super viewDidLoad];

    self.entireWindowButton.adjustsImageWhenHighlighted = NO;

    [self.entireWindowButton setImage: [self.entireWindowButton imageForState:UIControlStateNormal] forState:UIControlStateHighlighted];

【问题讨论】:

【参考方案1】:

我知道这是个老问题,但是如果您将 UIButtons 类型设置为自定义,则“adjustsImageWhenHighlighted = NO”将起作用,并且默认设置为 NO。

【讨论】:

以上是关于如何防止 UIButton 在触摸时发生变化?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 UITableViewCell 中的自定义 UIButton 中删除触摸延迟

更改其包含 UIView 的 UIButton

防止多点触控的 UIButton 触摸事件

约束布局更改后不触发 UIButton 操作

手指触摸/拖动时更改 UIButton 大小

如何通过 -addSublayer 添加 UI 元素:响应触摸事件?