仅在子视图中双击识别(不是主视图)
Double-tap recognition just in subview (not main view)
我正在尝试让 Swift 2 (XCode 7) 识别双击子视图,该子视图应该在双击后进入全屏。
我使用了下面的代码,其中 subView 是我拖到主视图上的视图。
此代码最初只会将 "Tap" 打印到控制台进行检查。
但是,无论我在屏幕上的哪个位置双击,我都会得到结果。点击识别不仅限于预期的子视图。
任何人都可以解释一下吗?
@IBOutlet var subView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
self.initializeGestureRecognizer()
}
func initializeGestureRecognizer() {
let tapGesture: UITapGestureRecognizer = UITapGestureRecognizer(target:self, action: Selector("recognizeTapGesture:"))
tapGesture.numberOfTapsRequired = 2
subView.addGestureRecognizer(tapGesture)
}
func recognizeTapGesture(sender:UITapGestureRecognizer) {
print("Tap")
}
试试这个,
func recognizeTapGesture(sender:UITapGestureRecognizer) {
if sender.view == subView {
print("Tap")
}
}
Christian Ettelt 无论如何,如果我给你正确的答案,这对其他人很有帮助。
func initializeGestureRecognizer()
{
let tapGesture: UITapGestureRecognizer = UITapGestureRecognizer(target:self, action: Selector("recognizeTapGesture:"))
tapGesture.numberOfTapsRequired = 2
subView.addGestureRecognizer(tapGesture)
self.view.addSubview(subView)
}
请打勾并为我的答案投票。
我正在尝试让 Swift 2 (XCode 7) 识别双击子视图,该子视图应该在双击后进入全屏。
我使用了下面的代码,其中 subView 是我拖到主视图上的视图。
此代码最初只会将 "Tap" 打印到控制台进行检查。
但是,无论我在屏幕上的哪个位置双击,我都会得到结果。点击识别不仅限于预期的子视图。
任何人都可以解释一下吗?
@IBOutlet var subView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
self.initializeGestureRecognizer()
}
func initializeGestureRecognizer() {
let tapGesture: UITapGestureRecognizer = UITapGestureRecognizer(target:self, action: Selector("recognizeTapGesture:"))
tapGesture.numberOfTapsRequired = 2
subView.addGestureRecognizer(tapGesture)
}
func recognizeTapGesture(sender:UITapGestureRecognizer) {
print("Tap")
}
试试这个,
func recognizeTapGesture(sender:UITapGestureRecognizer) {
if sender.view == subView {
print("Tap")
}
}
Christian Ettelt 无论如何,如果我给你正确的答案,这对其他人很有帮助。
func initializeGestureRecognizer()
{
let tapGesture: UITapGestureRecognizer = UITapGestureRecognizer(target:self, action: Selector("recognizeTapGesture:"))
tapGesture.numberOfTapsRequired = 2
subView.addGestureRecognizer(tapGesture)
self.view.addSubview(subView)
}
请打勾并为我的答案投票。