我正在开发iOS应用程序。
我有一个动画的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;
}
}
}
答案 0 :(得分:0)
有一个UIViewAnimationOptions
值......
UIViewAnimationOptionAllowUserInteraction
您可以在[UIView animateWithDuration...
代码中使用此功能。
这将启用触控功能。