无法调用选择器和手势委托 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,从另一个类调用选择器