gpt4 book ai didi

swift - 无法调用选择器和手势委托(delegate) iOS 13.2

转载 作者:行者123 更新时间:2023-11-30 10:31:00 25 4
gpt4 key购买 nike

我的代码可以在 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)

它可以工作,但我有一个 subview ,而 subview 不起作用并调用!!

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

最佳答案

这是你想要的吗?

enter image description here

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)
}

}

}

关于swift - 无法调用选择器和手势委托(delegate) iOS 13.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59229994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com