2016-07-14 6 views
0

私は、特定のボタンを押したときに消えなければならない青色のUILabelを表示するはずの対話型アプリケーションを作っています。ボタンを押し続けると、ラベルの色が消えてしまいます。私はカスタムUIColorを作成して明るさを変更しようとしましたが、それほど効果的ではありません。それは色がまったく変わらないいくつかのボタンを押すと消えます。UIColorをbuttonPressでフェードアウトする

私の目標を達成する最良の方法は何ですか?どんな助けもありがとう。これは簡単な作業ですが、何の理由もなく迷惑になります。

ここは私がやっていることのためのコードです。 「チューブ」は、「カウント」が増加し続けるのに伴って背景色が消えてしまうUILabelです。 ViewControllerの背景が白であると仮定すると

var intensity : CGFloat = 0.3   
@IBAction func fa(sender: AnyObject) { 

    let five = UIColor(hue: 0.61, saturation: 0.31, brightness: 0.76, alpha: intensity) 
    let four = UIColor(hue: 0.61, saturation: 0.31, brightness: 0.65, alpha: intensity) 
    let three = UIColor(hue: 0.61, saturation: 0.31, brightness: 0.59, alpha: intensity) 
    let two = UIColor(hue: 0.61, saturation: 0.31, brightness: 0.53, alpha: intensity) 
    let one = UIColor(hue: 0.61, saturation: 0.31, brightness: 0.37, alpha: intensity) 



    count += 1 

    if (count == 0){ 
     tube.backgroundColor = UIColor(red: 109, green: 132, blue: 180, alpha: 0.2) 
    } 
    else if (count == 1){ 
     tube.backgroundColor = one 
     print("one") 
    } 

    else if (count == 2){ 
     tube.backgroundColor = two 
     print("two") 
    } 

    else if (count == 3){ 
     tube.backgroundColor = three 
     print("three") 
    } 

    else if (count == 4){ 
     tube.backgroundColor = four 
    } 

    else if (count == 5){ 
     tube.backgroundColor = five 
    } 
    else { 
     tube.backgroundColor = UIColor(red: 109, green: 132, blue: 180, alpha: 0.2) 
    } 
+0

コードを見ることなく助けてください。 – Feldur

+0

@Feldurがそれを投稿しました! :) –

答えて

0

、あなたは実際にはボタン自体や色のアルファ値のいずれかをフェージングによって背景色をフェードすることができます。

if tube.layer.opacity > 0 { 
    tube.layer.opacity -= 0.1 
} 

あなたの代わりに色をフェードインする場合は、以前の色から(this answerを参照)RGB値を抽出し、そのを変更する必要があります、ボタンの不透明度を変更するには、次のコードを使用するには

アルファ値を再作成しています。

+0

は人生をとても簡単にしました!ありがとうございます! –

関連する問題