tidak dapat memanggil pemilih dan delegasi isyarat iOS 13.2

kode saya berfungsi di iOS 12 versi terakhir tetapi setelah iOS 13 kode ini tidak dapat memanggil pemilih. Saya menggunakan UIGestureRecognizerDelegate untuk iOS 13

ini kode saya

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

ini let txtVw = subVws as saya! Tampilan Teks UI, txtVw = subVws as! UITextView

Saya menggunakan kode ini:

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

ini berfungsi tetapi saya memiliki satu subview dan untuk subview tidak berfungsi & menelepon !!

bukan panggilan self.handleTap atau gestureRecognizer(_:shouldRecognizeSimultaneouslyWith:)


person MidDev    schedule 07.12.2019    source sumber
comment
Mengapa Anda memaksa memberikan pandangan ke UITextView ? juga ini adalah penamaan terburuk yang bisa digunakan. Bagaimanapun, coba stackoverflow.com/a/53146108/689779 ini   -  person Maysam    schedule 07.12.2019
comment
@Maysam karena saya memerlukan UItextview ini untuk pdfkit dan berfungsi di iOS 12   -  person MidDev    schedule 07.12.2019
comment
@Maysam bisakah Anda menulis kode dengan gerakan menggeser dengan kode saya? di tautan Anda, Anda tidak berubah !!!   -  person MidDev    schedule 07.12.2019


Jawaban (1)


Apa ini yang kau inginkan?

masukkan deskripsi gambar di sini

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

    }

}
person Maysam    schedule 07.12.2019
comment
apakah Anda bekerja dengan PDFKit? jika ya, bisakah Anda membuka satu obrolan? - person MidDev; 08.12.2019
comment
Tidak, saya belum pernah menggunakan PDFKit - person Maysam; 08.12.2019