2017-06-08 195 views
1

我的按鈕flButton但是當我嘗試設置alpha0,它給我的錯誤如何調整Swift中按鈕的透明度(alpha)?

Value of type '(Any) ->()沒有成員alpha」。

我必須在@IBAction更換Any line?

import UIKit 

class FirstLaunchView: UIViewController { 

    @IBOutlet weak var logo1: UIImageView! 
    @IBOutlet weak var smiley1: UIImageView! 
    @IBOutlet weak var subHapp1: UILabel! 
    @IBOutlet weak var happ1: UILabel! 
    @IBAction func flButton(_ sender: Any) { 

     UserDefaults.standard.set(false, forKey: "name") 
     //launchDetector = false 

     performSegue(withIdentifier: "toMain", sender: self) 
    } 

    @IBOutlet weak var firstLaunch: UIImageView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     logo1.alpha = 0 
     smiley1.alpha = 0 
     subHapp1.alpha = 0 
     happ1.alpha = 0 
     flButton.alpha = 0   
    } 

回答

3

您的flButton@IBAction function。您應該爲您的按鈕的@IBOutlet或者,如果你想保留它這樣做在你的function

if let button = sender as? UIButton { 
    button.alpha = 0 
} 

或者您也可以從改變你@IBAction function類型:

@IBAction func flButton(_ sender: Any) 

要:

@IBAction func flButton(_ sender: UIButton) 

然後只是設置sender.alpha = 0

+0

其實很容易地改變你的顏色,改變'Any'到'UIButton'也是一個可行的解決方案。 – Sulthan

+0

@Sulthan,這是真的,你甚至不需要重繪'@ IBAction'不知道你不必這樣做。已經添加它作爲替代,謝謝。 –

+1

該動作的參數實際上是可選的,您也可以使用'flButton()'並使用'IBOutlet'訪問該按鈕。這來自Objective-C的動態性。選擇器不包含類型。如果按鈕不是同一類型的,那麼重複使用一個'IBAction'可能不是一個好習慣。 – Sulthan

0

最簡單的方法就是Rashwan L建議的,像logo1,smiley1這樣創建一個插座。

@IBOutlet weak var flButton: UIButton! 

後,您可以通過

flButton.alpha = 0