2017-01-27 4 views
1

AVPlayerを使用してループボタンを作成しようとしています。ユーザーがボタン(ループ)をタップすると、ユーザーがそれを再度選択して選択解除するまで選択状態を維持したいと思います。私は次のコードを持っていますが、動作していないようです。ありがとう!ボタンを選択したままにする方法は?

@IBAction func didTapLoopButton(_ sender: Any) { 
    guard let loopButton = sender as? UIButton else { 
     return 
    } 

    if loopButton.state == .selected { 
     print("selected") 


    } else { 
     print("deselected") 
    } 
} 

答えて

0

これを試してください:質問から

@IBAction func didTapLoopButton(_ sender: Any) { 
    guard let loopButton = sender as? UIButton else { 
     return 
    } 

    let selected = !loopButton.isSelected 

    if selected { 
     print("selected") 
    } else { 
     print("deselected") 
    } 

    loopButton.isSelected = selected 
} 
+0

感謝を!選択されているか選択されていない場合、どのようにしてコードを実行できますか?私のコードで私が上にあった何か – user7097242

+0

問題はない、私は私の答えを更新しました。 – Coder256

0

を組み合わせて、上記の答え:助けを

@IBAction func didTapLoopButton(_ sender: Any) { 
    guard let loopButton = sender as? UIButton else { 
     return 
    } 

    loopButton.isSelected = !loopButton.isSelected 

    if loopButton.state == .selected { 
     print("selected") 


    } else { 
     print("deselected") 
    } 
} 
+0

'loopButton.state == .selected'は必ず' loopButton.isSelected'を反映しているとは思わないし、そうであっても、一貫性のために常に 'loopButton.isSelected'を使うべきです。私は使用することをお勧めするコードで私の答えを更新しました。 – Coder256

関連する問題