iOS Swift TextView UITapGestureRecognizer,带有用于移动光标的选项卡

时间:2018-07-12 09:00:41

标签: ios swift uitextview

我使用默认键盘和自定义键盘

如果在显示自定义键盘时出现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

1 个答案:

答案 0 :(得分:0)

请在viewController中添加协议TextViewDelegate。 并添加 self.replyArea.delegate =自我