如何禁用按钮突出显示效果点击?有自定义按钮与白色bg颜色和深灰色文本颜色.问题是文本成为按钮点击白色.已经尝试过,但没有一个工作:
a.在界面生成器中取消选中“突出显示的调整图像”。
B.在按下按钮的方法中,尝试突出显示设置=否:
((UIButton *)sender).highlighted = NO
字符串
c.尝试为高亮状态设置相同的标题:
[button setTitle:[button titleForState:UIControlStateNormal] forState:UIControlStateHighlighted];
型
有什么建议吗?
9条答案
按热度按时间ghg1uchk1#
您也可以从StoryBoard中定制UIButton类型:
的数据
这应该可以为您剥离任何系统行为。(我认为)
xoshrz7s2#
这是一个有图像的按钮的解决方案。在故事板中,有一个名为
HighlightedAdjustsImage
的属性,默认情况下为On。禁用该属性,按钮图像将不会显示任何突出显示的属性。dtcbnfnu3#
Swift 4和XCode 9
只需取消选中**“突出显示的调整图像”,如果您想删除禁用的背景取消选中“禁用的调整图像”太。
首先确保您的按钮类型为“自定义”**
的数据
qoefvg9y4#
UIButton将在点击时突出显示,因此检查按钮设置将突出显示状态配置中的标题颜色更改为与默认状态相同或者您可以设置:
字符串
如果你想通过代码控制Highlighted,你可以通过子类Button禁用普通高亮,并在touchesBegin中禁用:
型
rm5edbpk5#
旧的过时的答案,和老问题,但最新和最简单的方法是:
字符串
o0lyfsai6#
我在网上找到的解决方案都不适合我(包括这里列出的这些),所以我最终在我的自定义
UIButton
子类中这样做:字符串
我还将
buttonType
设置为.custom
,但在这里可能没有区别。现在:没有更多奇怪的突出显示或彩色动画!
fnvucqvd7#
My 2 cents ;)Swift 3 ready
字符串
历史与现状
我已经为
UIControlState.normal
和UIControlState.selected
设置了图像,所以设置UIButton.isSelected = true
显示选定的图像,否则显示正常图像。我们发现的问题是,当
UIButton.isSelected = true
,并在突出显示/焦点 (通过点击按住按钮,并通过滑动放弃点击) 按钮显示UIControlState.normal
的图像时,我的老板看起来很丑:D我尝试了几个解决方案,如
UIButton(type: UIButtonType.custom)
和UIButton.adjustsImageWhenHighlighted = false
,没有帮助:(i7uq4tfw8#
您可以在Swift 4.2中创建扩展名
字符串
jobtbby39#
我在tableview中遇到了这个问题,解决这个问题的方法是在
cellForRowAt indexPath
中添加以下内容:对于Swift 3及以上版本:
字符串
现在,当我点击单元格时,我的单元格上不再有灰色覆盖。