问题描述
我的 UIButton 实例在按下时未突出显示.我很确定我的代码是正确的.这只发生在我正在使用的这个特定类中.我猜是因为该函数已被我遵守的协议覆盖.
我想让 UIButton 突出显示默认方式,但我必须手动完成.如何在按下时强制突出显示按钮,它的默认设置是什么(在颜色方面),以便与所有其他按钮保持一致?
这是我当前的代码:
让 backButton = UIButton()backButton.setTitle("返回", for: .normal)backButton.setTitleColor(UIColor.black, for: .normal)backButton.adjustsImageWhenHighlighted = trueRevealBar.addSubview(backButton)backButton.snp.makeConstraints { (make) ->无效make.center.equalTo(RevealBar)make.width.equalTo(RevealBar)make.height.equalTo(RevealBar)}backButton.addTarget(self, action: #selector(self.goBack), for: .touchUpInside)使用 UIButton(type buttonType: .system) 而不是 UIButton() 来初始化按钮.
当您使用后者时,它不会正确设置按钮突出显示,因为默认按钮类型是 UIButtonType.custom,它旨在作为没有任何默认样式或突出显示行为的空白板.
注意,来自 Apple 的 UIButton 文档:p><块引用>
按钮的类型定义了它的基本外观和行为.您指定使用 init(type:) 方法在创建时按钮的类型或在您的故事板文件中.创建按钮后,无法更改它的类型. 最常用的按钮类型是自定义和系统类型,但在适当的时候使用其他类型.
My UIButton instance is not highlighting when pressed. I'm pretty sure my code is correct. This only happens in this specific class that I am using. I'm guessing because the function has been overridden by a protocol that I am conforming to.
I want to make the UIButton highlight the default way, but I have to do it manually. How can I force highlight the button when pressed, and what are the default settings for it (in terms of colour), so that it is consistent with all the other buttons?
Here is my current code:
let backButton = UIButton()
backButton.setTitle("back", for: .normal)
backButton.setTitleColor(UIColor.black, for: .normal)
backButton.adjustsImageWhenHighlighted = true
RevealBar.addSubview(backButton)
backButton.snp.makeConstraints { (make) -> Void in
make.center.equalTo(RevealBar)
make.width.equalTo(RevealBar)
make.height.equalTo(RevealBar)
}
backButton.addTarget(self, action: #selector(self.goBack), for: .touchUpInside)
Initialize the button using UIButton(type buttonType: .system) instead of UIButton().
When you use the latter it won't properly set up button highlighting because the default button type is UIButtonType.custom, which is intended as a blank slate without any of the default styling or highlighting behaviour.
Note, from Apple's UIButton documentation:
A button’s type defines its basic appearance and behavior. You specify the type of a button at creation time using the init(type:) method or in your storyboard file. After creating a button, you cannot change its type. The most commonly used button types are the Custom and System types, but use the other types when appropriate.
这篇关于按下时 UIButton 不突出显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!


大气响应式网络建站服务公司织梦模板
高端大气html5设计公司网站源码
织梦dede网页模板下载素材销售下载站平台(带会员中心带筛选)
财税代理公司注册代理记账网站织梦模板(带手机端)
成人高考自考在职研究生教育机构网站源码(带手机端)
高端HTML5响应式企业集团通用类网站织梦模板(自适应手机端)