2017-08-27 69 views
0

我是很新的應用程序開發(有編碼的背景雖然)與斯威夫特3和的Xcode 8.3.3。我發現了一些Objective-C的答案,我不太明白,也不知道如何在Swift中實現它。斯威夫特3:UISwipeGestureRecognizer工作在查看但不能在ViewContainer

這是我有:

  1. Document Outline, Storyboard & Connections
  2. the OnboardingViewController Class

它能做什麼

swipeOnView方法的工作原理就像一個魅力,我知道這是正確的,因爲「2。文檔大綱「作爲」容器視圖「是視圖的子項,並且不會接受手勢

但是:只要」容器視圖「覆蓋(或者應該 - 由於測試它是高度的一半)整個屏幕,它似乎阻止UIView接收手勢 - >這兩種方法都呈現無用 - >哪一個,再次...是正確的,我有種得到它

我想要它做什麼

我想要swipeOnContainerView方法工作,但我無法弄清楚如何告訴控制器只「聽」t o容器的視圖手勢並忽略「父」UIView。

回答

0

我能夠通過自己看着辦吧,這裏是如何:

第1步:添加一個插座每個GestureRecognizer即@IBOutlet VAR swipeLeftGestureRecognizer:UISwipeGestureRecognizer!

步驟2:在viewDidLoad中()添加委託用於每個出口即swipeLeftGestureRecognizer.delegate =自

步驟3:改變的返回值FUNC gestureRecognizer(_ gestureRecognizer:UIGestureRecognizer,shouldRecognizeSimultaneouslyWith otherGestureRecognizer:UIGestureRecognizer)到真

步驟4:將引用出口連接到的UIView /子視圖問題

步驟5:添加IBActions到每個GestureRecognizer

完成