我觉得这个标题很能自我解释。我需要一个由用户触摸拖动的图标。如果这个图标被放在某个区域,我想调用一个函数。这怎么可能?
非常感谢
Tyler
- 将UIPanGesture添加到视图中
- (void)viewDidLoad { [super viewDidLoad]; UIPanGestureRecognizer *pangesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(imageIsMoved:)]; pangesture.minimumNumberOfTouches = 1; [self.myView addGestureRecognizer:pangesture]; }
- 拖动结束时编写手势方法
-(void)imageIsMoved:(UIPanGestureRecognizer *)gesture{ CGRect frameToBeCompared; if (gesture.state == UIGestureRecognizerStateEnded) { UIView *v = [gesture view]; CGRect viewFrame = v.frame; if (CGRectEqualToRect(frameToBeCompared, viewFrame)) { [self callMyMethod]; } } }
查看此线程。一旦你掌握了基本知识,你就可以使用if语句来检查图标的边界,如果它们击中了特定的位置,就可以调用下一个函数。
这是我最喜欢的iOS教程网站之一的另一个例子,www.raywenderlich.com