繁体   English   中英

按下时,UI按钮不突出显示

[英]UIbutton is not highlighting when pressed

按下时,我的UIButton实例不突出显示。 我很确定我的代码是正确的。 这只发生在我正在使用的特定类中。 我猜测因为该功能已被我遵守的协议所覆盖。

我想让UIButton突出显示默认方式,但我必须手动完成。 如何在按下时强制突出显示按钮,它的默认设置(颜色方面)是什么,以便与所有其他按钮一致?

这是我目前的代码:

    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)

使用UIButton(type buttonType: .system)而不是UIButton()初始化按钮。

当您使用后者时,它将无法正确设置按钮突出显示,因为默认按钮类型是UIButtonType.custom ,其用作没有任何默认样式或突出显示行为的空白平板。

请注意,来自Apple的UIButton文档

按钮的类型定义其基本外观和行为。 您可以使用init(type :)方法或在storyboard文件中在创建时指定按钮的类型 创建按钮后,您无法更改其类型。 最常用的按钮类型是自定义和系统类型,但在适当时使用其他类型。

你的代码是正确的,除了这行let backButton = UIButton() 在这里你需要说按钮类型。 您可以使用FrameButton Type初始化

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM