swift - 仅在 subview 中双击识别(不是主视图)

标签 swift view swift2 uitapgesturerecognizer gesture-recognition

我正在尝试让 Swift 2 (XCode 7) 识别双击 subview ,该 subview 应该在双击后进入全屏。

我使用了下面的代码,其中 subView 是我拖到主视图上的 View 。

此代码最初只会将“Tap”打印到控制台以进行检查。

但是,无论我在屏幕上的哪个位置双击,我都会得到结果。点击识别不仅限于预期的 subview 。

任何人都可以解释一下吗?

@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")

}

最佳答案

Christian Ettelt 无论如何,如果我给你正确的答案,这对其他人很有帮助。

func initializeGestureRecognizer() 
{

   let tapGesture: UITapGestureRecognizer = UITapGestureRecognizer(target:self, action: Selector("recognizeTapGesture:"))

   tapGesture.numberOfTapsRequired = 2

   subView.addGestureRecognizer(tapGesture)

   self.view.addSubview(subView)

}

请打勾并为我的答案投票。

关于swift - 仅在 subview 中双击识别(不是主视图),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32504458/

相关文章:

ios - 出于安全原因,如何在iOS中从内存中删除字符串?甚至需要它还是iOS自己处理

swift - Xcode 6 修复了 TableView Controller 中的 View

objective-c - Objective-C ,iOS : not calling alloc or init on a subview

android - 如何在android中的其他 View 上添加覆盖 View ?

ios - 如何根据内容调整 UIStackView 的大小?

swift - Swift 期望如何写日期?

ios - NSInvalidArgumentException',原因 : 'Resource count cannot be found in the main bundle'

ios - 当 View 出现时执行函数 - Swift

ios - UISearchController 触摸后看起来不对

ios - AVPlayerViewController 和 View 的约束