У меня есть подкласс UICollectionViewCell
(CustomCell
), который содержит один UIButton
(button
), который я хочу воспроизводить при нажатии. В частности, я хочу, чтобы звуки клавиш клавиатуры воспроизводились, когда переменная isOn
превращается в true
, и звуки возврата (или удаления) клавиатуры, когда переменная isOn
превращается в false
.
Пока у меня есть следующее:
class CustomCell: UICollectionViewCell {
private var isOn = true
@IBOutlet weak private var button: UIButton! {
didSet {
button.addTarget(self, action: #selector(self.toggleButton), for: .touchUpInside)
}
}
@objc private func toggleButton() {
if (isOn) {
/// Play keyboard backspace (delete) sound ...
UIDevice.current.playInputClick()
} else {
/// Play keyboard text sound ...
UIDevice.current.playInputClick()
}
isOn = !isOn
}
}
Я также реализую протокол UIInputViewAudioFeedback
следующим образом:
extension CustomCell: UIInputViewAudioFeedback {
func enableInputClicksWhenVisible() -> Bool {
return true
}
}
Однако при нажатии кнопки звук не воспроизводится.
Спасибо за любую помощь.