2016-08-17 3 views
0

У меня есть 2 UIViews, индивидуально они работают отлично. Однако как только перекрывается нижний UIView, UIView 2 не регистрируется в области, покрываемой верхним UIView 1?Swift Sweep Recognizer с перекрывающимися UIViews

UIView 1 (пурпурная) перекрывающийся UIView 2 (известь)

enter image description here

UIView 1 (пурпурное) принимает влево/вправо салфетку.

UIView 2 (известь) принимает вверх/вниз салфетки.

UIView 2 (известь), показанная без перекрытия UIView 1 (пурпурного) enter image description here

@IBOutlet weak var swipeAB: UIView! 
@IBOutlet weak var swipeBC: UIView! 

func calculateAB(sender:UISwipeGestureRecognizer) { 
    print("Swiped right, A to B") 
} 
func calculateBA(sender:UISwipeGestureRecognizer) { 
    print("Swipe left, B to A") 
} 
func calculateBC(sender:UISwipeGestureRecognizer) { 
    print("Swiped down, B to C") 
} 
func calculateCB(sender:UISwipeGestureRecognizer) { 
    print("Swipe up, C to B") 
} 

override func viewDidLoad() { 
    super.viewDidLoad() 
    moveAB.addTarget(self, action: #selector(GameViewController.calculateAB)) 
    moveAB.direction = .Right 
    swipeAB.addGestureRecognizer(moveAB) 
    moveBA.addTarget(self, action: #selector(GameViewController.calculateBA)) 
    moveBA.direction = .Left 
    swipeAB.addGestureRecognizer(moveBA) 
    moveBC.addTarget(self, action: #selector(GameViewController.calculateBC)) 
    moveBC.direction = .Down 
    swipeBC.addGestureRecognizer(moveBC) 
    moveCB.addTarget(self, action: #selector(GameViewController.calculateCB)) 
    moveCB.direction = .Up 
    swipeBC.addGestureRecognizer(moveCB) 
} 
+0

Не могли бы вы отделить 2 UIViews в 3 UIViews? Тогда верхний правый UIView будет иметь 2 жесты, а у остальных будет 1? Не уверен, можете ли вы сделать это в соответствии с тем, что вы пытаетесь сделать. – impression7vx

+0

Это сделало трюк, я загрузил фотографию, иллюстрирующую ответ. –

ответ

0

impression7vx, ты пятно на, спасибо!

я разделил два перекрывающихся UIViews вверх в:

  • UIView 1 (Magenta), чтобы обнаружить Размах право
  • UIView 2 (желтый) для обнаружения салфетки влево и проведите вниз
  • UIView 3 (известь) для обнаружения салфетки до

Split into 3 UIView

+0

Awesome Awesome, рад, что я смог помочь! – impression7vx