我在学习Swift时尝试制作自定义键盘,但由于某种原因,我添加到每个键(每个键由UIView表示)的轻击手势识别器不起作用且未被调用。键盘出现并看起来就像我想要的那样,但点击一个视图什么都不做。任何帮助都将非常感谢注意:为简化起见,此处仅显示一个键。这是我的代码:
我的viewDidLoad方法:
class KeyboardViewController: UIInputViewController {
let tapRec = UITapGestureRecognizer()
}
override func viewDidLoad() {
super.viewDidLoad()
var Qkey = UIView(frame: CGRectMake(13, 45, 38, 38))
applyLightLook(Qkey)
self.view.addSubview(Qkey)
}
将UIGestureRecognizer和相同外观应用于所有键的函数。
func applyLightLook(view: UIView) {
var layer = view.layer
view.backgroundColor = UIColor.whiteColor()
view.userInteractionEnabled = true
tapRec.addTarget(self, action: "keyPressed:")
view.addGestureRecognizer(tapRec)
}
func keyPressed(sender: UIView?){
let label = "Q"
(textDocumentProxy as UIKeyInput).insertText(label)
}