2017-06-08 10 views
1

私のボタンがflButtonですが、私はalpha0に設定しようとすると、それは私にエラーSwiftのボタンの透明度(アルファ)を​​調整するにはどうすればよいですか? 「

Value of type '(Any) ->()を与える何のメンバーalphaを持っていません。

は、私が @IBActionAnyを交換する必要がありますか行?

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

によってあなたの色を変更することができます。 – Sulthan

+0

@Sulthan、それは本当であり、あなたは '@ IBAction'を再描画する必要もなく、あなたはそれをしなくてはならないことを知りませんでした。代替として、それを追加しました、ありがとう。 –

+1

アクションのパラメータは実際にはオプションですが、 'flButton()'を使って 'IBOutlet'を使ってボタンにアクセスすることもできます。それはObjective-Cの動的性に由来します。セレクタには型が含まれていません。ボタンが同じ種類でない場合、複数のボタンに対して1つの 'IBAction'を再利用することは、おそらく良い習慣ではありません。 – Sulthan

0

ほとんどの簡単な方法は、Rashwan Lが提案したもので、このようなロゴ1のようなアウトレットを作成します。

@IBOutlet weak var flButton: UIButton! 

は、その後、あなたは簡単にUIButton`も実行可能なソリューションであるAny` ``に変更し、実際に

flButton.alpha = 0 
関連する問題