我对使用Swift 3和Xcode 8.3.3的App开发(虽然有编码背景)很陌生。我找到了一些我不太了解的Objective-C答案,并且不知道如何在Swift中实现它。
这就是我所拥有的:
它的作用
swipeOnView方法就像一个魅力,我知道这是正确的,因为“2.文档大纲”,因为“容器视图”是视图的子项,并且没有收到手势。
但是:一旦“容器视图”覆盖(或者应该 - 由于测试它的高度的一半)整个屏幕,似乎它阻止了UIView接收手势 - >这两种方法都变得无用 - >再次......是正确的,我得到了它。
我想要它做什么
我想让swipeOnContainerView方法正常工作但是我无法弄清楚如何告诉控制器只“监听”容器的视图手势并忽略“父”UIView。
答案 0 :(得分:0)
我能够自己解决这个问题,以下是:
步骤1:为每个GestureRecognizer添加一个Outlet,即@IBOutlet var swipeLeftGestureRecognizer:UISwipeGestureRecognizer!
第2步:在viewDidLoad()中为每个Outlet添加一个委托,即swipeLeftGestureRecognizer.delegate = self
步骤3:将func gestureRecognizer的返回值(_ gestureRecognizer:UIGestureRecognizer,shouldRecognizeSimultaneouslyWith otherGestureRecognizer:UIGestureRecognizer)更改为true
步骤4:将Referencing Outlet连接到有问题的UIView / SubView
步骤5:将IBActions添加到每个GestureRecognizer
完成