拖放图像,如果放置在某个区域调用函数上



我觉得这个标题很能自我解释。我需要一个由用户触摸拖动的图标。如果这个图标被放在某个区域,我想调用一个函数。这怎么可能?

非常感谢

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

最新更新