live gamepad overlay tip fix
This commit is contained in:
1 parent
e2acf5ac4b
commit
c4c896e43e
2 files changed
+12
-1
No files matched your search
@@ -203,6 +203,9 @@ final class AbstractGamepadOverlayView: UIView {
|
|||||||
|
|
||||||
private func installGesturesIfNeeded() {
|
private func installGesturesIfNeeded() {
|
||||||
guard gestureRecognizers?.isEmpty != false else { return }
|
guard gestureRecognizers?.isEmpty != false else { return }
|
||||||
|
let singleTap = UITapGestureRecognizer(target: self, action: #selector(handleSingleTap(_:)))
|
||||||
|
singleTap.numberOfTapsRequired = 1
|
||||||
|
singleTap.cancelsTouchesInView = true
|
||||||
let pan = UIPanGestureRecognizer(target: self, action: #selector(handlePan(_:)))
|
let pan = UIPanGestureRecognizer(target: self, action: #selector(handlePan(_:)))
|
||||||
pan.minimumNumberOfTouches = 1
|
pan.minimumNumberOfTouches = 1
|
||||||
pan.maximumNumberOfTouches = 1
|
pan.maximumNumberOfTouches = 1
|
||||||
@@ -212,15 +215,23 @@ final class AbstractGamepadOverlayView: UIView {
|
|||||||
let doubleTap = UITapGestureRecognizer(target: self, action: #selector(handleDoubleTap(_:)))
|
let doubleTap = UITapGestureRecognizer(target: self, action: #selector(handleDoubleTap(_:)))
|
||||||
doubleTap.numberOfTapsRequired = 2
|
doubleTap.numberOfTapsRequired = 2
|
||||||
doubleTap.cancelsTouchesInView = true
|
doubleTap.cancelsTouchesInView = true
|
||||||
|
singleTap.delegate = self
|
||||||
pan.delegate = self
|
pan.delegate = self
|
||||||
pinch.delegate = self
|
pinch.delegate = self
|
||||||
doubleTap.delegate = self
|
doubleTap.delegate = self
|
||||||
pan.require(toFail: doubleTap)
|
pan.require(toFail: doubleTap)
|
||||||
|
singleTap.require(toFail: pan)
|
||||||
addGestureRecognizer(pan)
|
addGestureRecognizer(pan)
|
||||||
|
addGestureRecognizer(singleTap)
|
||||||
addGestureRecognizer(pinch)
|
addGestureRecognizer(pinch)
|
||||||
addGestureRecognizer(doubleTap)
|
addGestureRecognizer(doubleTap)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@objc private func handleSingleTap(_ recognizer: UITapGestureRecognizer) {
|
||||||
|
guard recognizer.state == .ended else { return }
|
||||||
|
presentFirstTouchTipIfNeeded()
|
||||||
|
}
|
||||||
|
|
||||||
@objc private func handlePan(_ recognizer: UIPanGestureRecognizer) {
|
@objc private func handlePan(_ recognizer: UIPanGestureRecognizer) {
|
||||||
guard let superview else { return }
|
guard let superview else { return }
|
||||||
switch recognizer.state {
|
switch recognizer.state {
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ import Foundation
|
|||||||
}
|
}
|
||||||
|
|
||||||
@objc static func isFirstLaunchGamepadOverlayFeature() -> Bool {
|
@objc static func isFirstLaunchGamepadOverlayFeature() -> Bool {
|
||||||
let key = "hasTouchedGamepadOverlayFeature20260405-1"
|
let key = "hasTouchedGamepadOverlayFeature20260405-2"
|
||||||
let defaults = UserDefaults.standard
|
let defaults = UserDefaults.standard
|
||||||
let launchedBefore = defaults.bool(forKey: key)
|
let launchedBefore = defaults.bool(forKey: key)
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user