2017-10-26 4 views
0

ボタンのタイトルの背景を修正しようとしています。そして、ここでは、blue.pngからgreen.pngへの移行中に、ボタンをクリックすると、ボタンのタイトルの背景がblue.pngになり、ボタンは緑になります。UIButtonをクリックしてタイトルバックグラウンドをアニメートしているときに、迷惑な動作が表示される

ここでは全体のボタンは同じgreen.png を示すべきであると私はUIView.transitionを削除すると、それは良い作品。 XIBのViewControllerをで

the bugged UIButton

@IBOutlet weak var option_1: UIButton! 

func optionsAnimateGreen(){ 
    let options = [option_1] 
    let stop = [stop_1] 
    for (option, stopper) in zip(options, stop){ //loops options and stop 
    let btn:UIButton = option! 
    if stopper{ 
     UIView.transition(with: btn, duration: 1.5, options: [ .transitionCrossDissolve, .allowUserInteraction], animations: { 
     btn.toggleSelection() 
     }, completion: nil) 
    } 
    } 
} 


self.timer = Timer.scheduledTimer(timeInterval: 1.5, target: self, selector: #selector(self.optionsAnimateGreen), userInfo: nil, repeats: true); 


extension UIButton { 

    func toggleSelection() { 
     self.isSelected = self.isSelected ? false : true 
    } 
} 
:ボタンの背景のデフォルト状態はblue.pngに設定され、ボタンの背景の選択状態のためには、あなたがUIButton変更する必要があります

答えて

1

をgreen.pngするように設定されていますストーリーボード/ XIBの「システム」から「カスタム」に入力します。表示されるのは、SELECTED状態のシステムボタンからのデフォルトの動作です。ボタンが選択取得するとき

遷移は問題ではありません、問題がある「button.isSelected =真」これは魔法のように動作

+0

。私は問題が何かを見つけるのに苦労してきました。ありがとう。 – Prateekro

関連する問題