我有用UICollectionView定制的数字键盘。我在didSelectItemAt方法中得到按键值。我希望每次调用didSelectItemAt方法时都有键盘声音。它应该取决于用户的设备设置。
我已经提到了苹果的开发文档,但我无法实现它。医生说:
要为输入单击启用自定义输入或附件视图,请执行
以下两个步骤:
一。在输入视图类中采用UIInputViewAudioFeedback协议。
2。实现enableInputClicksWhenVisible委托方法以返回true。
我试着顺着下面的路走:
已创建CustomUICollectionView
class CustomUICollectionView: UICollectionView, UIInputViewAudioFeedback {
var enableInputClicksWhenVisible: Bool {
return true
}
}
在显示数字键盘的控制器中声明变量number pad。并在didSelectItemAt方法中调用playInputClick。
@IBOutlet weak var numberPad: CustomUICollectionView!
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
UIDevice.current.playInputClick()
}
最佳答案
您需要从符合playInputClick
的view类中调用UIInputViewAudioFeedback
。
符合UIInputViewAudioFeedback
并调用playInputClick
的类需要是文本字段或文本视图的活动inputView
。
重构您的代码以满足这些需求,单击将起作用。