Sesuai dokumen apel. Apple UIPanGestureRecognizer Perbedaan antara panci dan gesek seperti di bawah ini: -
UIPanGestureRecognizer adalah subkelas konkret dari UIGestureRecognizer yang mencari gerakan gerakan mendrag (menyeret). Pengguna harus menekan satu atau lebih jari pada tampilan saat mereka menggesernya. Klien yang menerapkan metode tindakan untuk pengenal isyarat ini dapat menanyakannya untuk terjemahan dan kecepatan isyarat saat ini.
Gerakan panning terus menerus. Itu dimulai ( dimulai ) ketika jumlah minimum jari diperbolehkan ( minimumNumberOfTouches ) telah cukup bergerak untuk dianggap sebagai panci. Ini berubah (diubah) ketika jari bergerak sementara setidaknya jumlah minimum jari ditekan ke bawah. Itu berakhir ( berakhir ) ketika semua jari terangkat.
Klien dari kelas ini dapat, dalam metode tindakan mereka, permintaan objek UIPanGestureRecognizer untuk terjemahan gerakan saat ini ( terjemahan (dalam :) ) dan kecepatan terjemahan ( kecepatan (dalam :) ). Mereka dapat menentukan tampilan yang sistem koordinatnya harus digunakan untuk nilai terjemahan dan kecepatan. Klien juga dapat mengatur ulang terjemahan ke nilai yang diinginkan.
Contoh Demo Swift 3 UIPanGestureRecognizer: - Tautan Sumber Daya
import UIKit
class ViewController: UIViewController {
// this records our circle's center for use as an offset while dragging
var circleCenter: CGPoint!
override func viewDidLoad() {
super.viewDidLoad()
// Add a draggable view
let circle = UIView(frame: CGRect(x: 0.0, y: 0.0, width: 100.0, height: 100.0))
circle.center = self.view.center
circle.layer.cornerRadius = 50.0
circle.backgroundColor = UIColor.green()
// add pan gesture recognizer to
circle.addGestureRecognizer(UIPanGestureRecognizer(target: self, action: #selector(self.dragCircle)))
self.view.addSubview(circle)
}
func dragCircle(gesture: UIPanGestureRecognizer) {
let target = gesture.view!
switch gesture.state {
case .began, .ended:
circleCenter = target.center
case .changed:
let translation = gesture.translation(in: self.view)
target.center = CGPoint(x: circleCenter!.x + translation.x, y: circleCenter!.y + translation.y)
default: break
}
}
}
Sesuai dokumen apel. Apple UITapGestureRecognizer
UITapGestureRecognizer adalah subkelas konkret dari UIGestureRecognizer yang mencari ketukan tunggal atau ganda. Agar gerakan dapat dikenali, jumlah jari yang ditentukan harus mengetuk tampilan beberapa kali.
Meskipun ketukan adalah gerakan diskrit, ketukan terpisah untuk setiap kondisi pengenal isyarat; dengan demikian pesan tindakan yang terkait dikirim ketika gerakan dimulai dan dikirim untuk setiap keadaan perantara hingga (dan termasuk) keadaan akhir gerakan. Karenanya, kode yang menangani gerakan ketuk harus menguji status gerakan itu.
Swift 3 Demo Contoh Sumber Daya UITapGestureRecognizer Demo
override func viewDidLoad() {
super.viewDidLoad()
let tap = UITapGestureRecognizer(target: self, action: #selector(doubleTapped))
tap.numberOfTapsRequired = 2
view.addGestureRecognizer(tap)
}
func doubleTapped() {
// do something cool here
print("Test TapGesture")
}
Contoh Gambar untuk Pengenal