在我的应用程序中,我将多个小视图连接在一起形成一个大画布。我正确地分别为每个视图获取触摸开始/移动/结束事件。我现在想要的是,如果我触摸view1并将我的手指从view1拖出并进入view2的区域而不抬起我的手指,我希望view2以某种方式得到一个通知,我现在在这个视图中,即view2 。感谢。
答案 0 :(得分:1)
我能够使用touchesMoved方法完成它。这是代码:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesMoved:touches withEvent:event];
CGPoint nowPoint = [touches.anyObject locationInView:self.view];
NSLog(@"%f, %f", nowPoint.x, nowPoint.y);
NSArray *viewsToCheck = [self.view subviews];
for (UIView *v in viewsToCheck)
{
if ([v isKindOfClass:[CharacterTile class]])
{
if (CGRectContainsPoint(v.frame, nowPoint))
{
CharacterTile *ctTemp = (CharacterTile *)v;
//perform your work with the subview.
}
}
}
}
其中CharacterTile是self.view上添加的子视图。 CGRectContainsPoint告诉用户触摸的点是否在视图内。