Ios CGRectIntersectsRect后停止用户交互
我正在尝试设置一个游戏的一小部分,用户将标签拖到另一个标签上。如果他这样做了,标签就会重置,球员的分数也会增加 问题是,如果我按住标签,我会得到无限多的点,因为我创建的矩形不会重置它的位置,只要我保持手指在屏幕上 代码如下:Ios CGRectIntersectsRect后停止用户交互,ios,objective-c,core-graphics,cgrect,Ios,Objective C,Core Graphics,Cgrect,我正在尝试设置一个游戏的一小部分,用户将标签拖到另一个标签上。如果他这样做了,标签就会重置,球员的分数也会增加 问题是,如果我按住标签,我会得到无限多的点,因为我创建的矩形不会重置它的位置,只要我保持手指在屏幕上 代码如下: - (void)viewDidLoad { UIPanGestureRecognizer *panrecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(ha
- (void)viewDidLoad
{
UIPanGestureRecognizer *panrecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePangesture:)];
[self.dragMe addGestureRecognizer:panrecognizer];
}
- (void)handlePangesture:(UIPanGestureRecognizer *)gestureRecognizer
{
self.dragMe.center = [gestureRecognizer locationInView:self.dragMe.superview];
CGRect dragMerect = self.dragMe.frame;
CGRect endZonerect = self.endZone.frame;
if (CGRectIntersectsRect(dragMerect, endZonerect)) {
dragMerect.origin.x = 100;
dragMerect.origin.y = 100;
self.dragMe.center = dragMerect.origin;
Points++;
self.points.text = [NSString stringWithFormat:@"Points: %d",Points];
NSLog(@"Rect is Intersecting");
NSLog(@"%d",Points);
}
}
希望你们知道我在说什么,以及如何修复它
提前感谢,Niklas如果您希望应用程序禁用所有用户交互,请使用:
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
重置标签后不要忘记启用它:
[[UIApplication sharedApplication] endIgnoringInteractionEvents];
UIGestureRecognitor具有手势开始、结束、移动等状态属性。。。使用此状态属性。