簡體   English   中英

Swift - 將背景顏色更改為透明

[英]Swift - Changing background color to transparent

我注意到我的一個按鈕的背景顏色值 = 'default'

當按鈕突出顯示時,我想將不同的按鈕更改為也具有“默認”背景顏色,這是我的代碼:

@IBAction func buttonTouchUpInside(_ sender: UIButton) {

    registerBtn.setTitleColor(UIColor.white, for: UIControlState.highlighted);
}

我該如何實現這一點,所以 registerBtn 的背景顏色基本上是透明的?

在評論中我發現:

  • 這兩個按鈕都是在 InterfaceBuilder (IB) 中創建的。
  • 每個按鈕的背景顏色要么設置為默認值,要么設置為 IB 中的其他顏色。
  • 這個想法是讓第二個按鈕在第一個按鈕突出顯示時具有透明的背景顏色和白色標題。

(我會根據需要編輯上面的內容。我不完全確定的是,當第一個按鈕不再突出顯示后會發生什么。)

如果是以上情況,則需要進行以下操作:

  • 當 UIControlEventTouchDownUIControlEventTouchDragEnter 發生時,讓第一個按鈕執行操作。
  • 讓第一個按鈕然后通過代碼更改第二個按鈕的背景顏色。

可能最簡單的方法不是通過 IB,而是通過代碼。 在 IB 中添加按鈕后,為它們創建 IBOutlets。 然后你可以這樣做:

@IBOutlet weak var firstButton: UIButton!
@IBOutlet weak var secondButton: UIButton!

override func viewDidLoad() {
    super.viewDidLoad()
    firstButton.addTarget(self, action: #selector(highlightSecondButton), for: .touchDown)
    firstButton.addTarget(self, action: #selector(highlightSecondButton), for: .touchDragEnter)
}

func highlightSecondButton(_ sender:UIButton) {
    secondButton.setTitleColor(UIColor.white, for: UIControlState.normal)
    secondButton.backgroundColor = nil
}

使用UIColor.clear使顏色透明。

蘋果稱其為“默認”而不是“清晰”,這非常令人困惑。

迅速

button.backgroundColor = UIColor.clear

客觀-C

button.backgroundColor = [UIColor clearColor];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM