Swift 3中单击声音实现的自定义数字键盘

时间:2018-06-13 05:18:52

标签: ios swift swift3 uicollectionview custom-keyboard

我有使用UICollectionView制作的自定义数字键盘。我在didSelectItemAt方法中获得了键值。每当调用didSelectItemAt方法时,我都想要键盘声音。它应该取决于用户的设备设置。

我已经提到了Apple开发人员文档,但我无法实现它。 Doc说:

  

要为输入点击启用自定义输入或附件视图,请执行   以下两个步骤:   1.在输入视图类中采用UIInputViewAudioFeedback协议。   2.实现enableInputClicksWhenVisible委托方法以返回true。

我尝试了以下方式:

  1. 创建CustomUICollectionView
  2. class CustomUICollectionView: UICollectionView, UIInputViewAudioFeedback {
        var enableInputClicksWhenVisible: Bool {
            return true
         }
     }

    1. 在我显示数字键盘的控制器中声明了变量numberPad。并在didSelectItemAt方法中调用了playInputClick。
    2. @IBOutlet weak var numberPad: CustomUICollectionView!
      func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { UIDevice.current.playInputClick() }

1 个答案:

答案 0 :(得分:0)

  1. 您需要从符合playInputClick的视图类调用UIInputViewAudioFeedback
  2. 符合UIInputViewAudioFeedback并且调用playInputClick的类需要是文本字段或文本视图的有效inputView
  3. 重构代码以满足这些要求,点击即可生效。