簡體   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