我使用默认键盘和自定义键盘
如果在显示自定义键盘时出现textview触摸事件,请更改为默认键盘
class ReplyPage: UIViewController ,UITextViewDelegate,EmojiKeyboardDelegate,UIGestureRecognizerDelegate{
@IBOutlet weak var replyArea: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
replyArea.delegate=self
emojiView.delegate = self
replyPage = self
let tapTerm = UITapGestureRecognizer(target: self, action: #selector(textViewTouch))
tapTerm.delegate = self
replyArea.addGestureRecognizer(tapTerm)
more code...
}
@objc func textViewTouch(){
if isEmoji{
replyArea.inputView = nil
replyArea.reloadInputViews()
isEmoji = false
emojiButton.setImage(UIImage(named:"emoji"), for: UIControlState.normal)
}else{
replyArea.reloadInputViews()
replyArea.becomeFirstResponder()
}
}
}
此代码有效
但不能在textview
默认标签为移动光标
但是UITapGesture
会覆盖此内容,因此无法正常工作
如何使用默认标签和UITapGesture
我可以在没有Textview
的情况下听UITapGesture
触摸吗?
不能textViewDidBeginEditing()
在第一次打开自定义键盘后,TextView Tap不会呼叫textViewDidBeginEditing
。
因为“第一个自定义键盘打开”已经调用textViewDidBeginEditing
答案 0 :(得分:0)
请在viewController中添加协议TextViewDelegate。 并添加 self.replyArea.delegate =自我