我有用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
重构您的代码以满足这些需求,单击将起作用。

10-06 00:46