2013-09-26 59 views
0

我正在研究iOS應用程序。當父UIView動畫時,無法檢測到UIView兒童觸摸正確

我有一個正在動畫的UIView。它始終從左向右移動。

該視圖有幾個UIView子項。這是動畫時,他們在他們的父母內移動。

當我嘗試捕獲用戶對兒童的觸摸(通過使用UITapGestureRecognizer)時,它不會按預期工作。它有點觸及孩子,但不在他們目前的位置。

我一直在努力與此一段時間了。任何關於如何解決這個問題的想法?我真的需要檢測用戶正在觸摸哪個孩子。

謝謝!

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 

    UITouch *touch = [touches anyObject]; 
    CGPoint touchLocation = [touch locationInView:self]; 

    // Check every child subview 
    for (UIView *tickerItem in self.subviews) 
    {   
     // Check collision 
     if ([tickerItem.layer.presentationLayer hitTest:touchLocation]) 
     { 
      MKTickerItemView *v = (MKTickerItemView*)tickerItem; 
      NSLog(@"Selected: %@", v.title); 

      // This button was hit whilst moving - do something with it here 
      break; 
     } 
    } 
} 
+1

請顯示一段代碼以獲取快速幫助 – ErrorNotFoundException

+0

我已經做了。謝謝@Stanley ...「self」是父級UIView,其子視圖是「ticketItem」。 – jmoukel

回答

0

有一個UIViewAnimationOptions值...

UIViewAnimationOptionAllowUserInteraction

可以在[UIView animateWithDuration...代碼中使用此。

這將啓用觸摸。

+0

嗨@Fogmeister,我試過了,但它仍然不起作用。 – jmoukel