无法调用选择器和手势委托 iOS 13.2

Posted

技术标签:

【中文标题】无法调用选择器和手势委托 iOS 13.2【英文标题】:can not call selector and gesture delegate iOS 13.2 【发布时间】:2019-12-07 20:38:53 【问题描述】:

我的代码在 ios 12 最新版本中工作,但在 iOS 13 之后,此代码无法调用选择器 我在 iOS 13 中使用了 UIGestureRecognizerDelegate

这是我的代码

let panGest = UIPanGestureRecognizer(target: self, action: #selector(self.handleTap(_:)))
panGest.delegate = self
txtVw.addGestureRecognizer(panGest)

这是我的 let txtVw = subVws as! UITextView , txtVw = subVws as! UITextView

我使用了这个代码:

let panGest = UIPanGestureRecognizer(target: self, action: #selector(self.handleTap(_:)))
            self.view.addGestureRecognizer(panGest)

它的工作,但我有一个子视图和子视图不工作和调用!!

不调用 self.handleTap 或 gestureRecognizer(_:shouldRecognizeSimultaneouslyWith:)

【问题讨论】:

你到底为什么要强制对UITextView投一些看法?这也是可能使用的最糟糕的命名。不管怎样,试试这个***.com/a/53146108/689779 @Maysam 因为我需要这个用于 pdfkit 的 UItextview,它在 iOS 12 中可以使用 @Maysam 你能用我的代码用平移手势写代码吗?在您的链接中,您没有改变!!! 【参考方案1】:

这是你想要的吗?

class ViewController: UIViewController, UIGestureRecognizerDelegate 

    @IBOutlet weak var textView: UITextView!

    override func viewDidLoad() 
        super.viewDidLoad()
        let gestureRecognizer = UIPanGestureRecognizer(target: self, action: #selector(handlePan))
        gestureRecognizer.delegate = self
        textView.addGestureRecognizer(gestureRecognizer)
        textView.isUserInteractionEnabled = true
        textView.isMultipleTouchEnabled = true
    

    @objc func handlePan(_ gestureRecognizer: UIPanGestureRecognizer) 
        if gestureRecognizer.state == .began || gestureRecognizer.state == .changed 

            let translation = gestureRecognizer.translation(in: self.view)
            //make sure the view is not nil
            gestureRecognizer.view!.center = CGPoint(x: gestureRecognizer.view!.center.x + translation.x, y: gestureRecognizer.view!.center.y + translation.y)
            gestureRecognizer.setTranslation(CGPoint.zero, in: self.view)
        

    


【讨论】:

您在使用 PDFKit 吗?如果是的话,你能打开一个聊天吗? 不,我从未使用过 PDFKit

以上是关于无法调用选择器和手势委托 iOS 13.2的主要内容,如果未能解决你的问题,请参考以下文章

相机图像选择器和摇动手势?

通过委托为另一个类中的手势识别器调用选择器

设置手势委托时无法选择地图对象

UIGestureRecognizer,从另一个类调用选择器

从另一个类调用选择器的 UIGestureRecognizer

离子图像选择器和选择器在 IOS 中不起作用