删除选定 UIButton 中的突出显示

Posted

技术标签:

【中文标题】删除选定 UIButton 中的突出显示【英文标题】:Removing the highlight in a selected UIButton 【发布时间】:2016-06-08 06:03:33 【问题描述】:

一个普通的 UIButton 应该是这样的(我知道按钮应该有与其他文本不同的颜色,但这是一种特殊情况):

我想使用 UIButton 的selected 属性来确定它是否应该是粗体,并且我已经使用以下代码将.Selected 控件状态设置为具有粗体文本:

let boldedOption = [NSFontAttributeName: UIFont.boldSystemFontOfSize(15), NSForegroundColorAttributeName: UIColor.whiteColor()]
signInButton.setAttributedTitle(NSAttributedString(string: "SIGN IN", attributes: boldedOption), forState: .Selected)

但是,当我以编程方式将按钮的 selected 属性设置为 true 时,结果如下:

我最初想要实现的是,只要 UIButton 的 selected 属性为 true,按钮就具有粗体文本,但在这种情况下,边框会挡住,并且文本肯定不是白色的好吧。

有没有办法根据用户输入使用selected 属性动态加粗 UIButton 的文本,还是我必须用布尔值组合另一个不太优雅的解决方案?

【问题讨论】:

最好将 2 张图片用于不同的状态..... 您需要在 Xib 中更改自定义按钮类型 也许,但我更愿意坚持使用文字而不是为 2 个州创建 2 张图像 【参考方案1】:

将按钮类型更改为自定义而不是系统。这将处理您的蓝色背景。

【讨论】:

以上是关于删除选定 UIButton 中的突出显示的主要内容,如果未能解决你的问题,请参考以下文章

突出显示/选定状态问题的 UIButton 背景颜色

如何禁用 UIButton 突出显示操作

如何使用 PDFKit 突出显示 pdf 中的选定文本?

ListFragment 中的选定项目未突出显示

突出显示“ListFragment”中的选定项目?

UIButton 在单元格被触摸时也会突出显示