将图像从 UIPopoverController 拖放到 UIViewController

发布于 2024-12-29 13:16:28 字数 877 浏览 0 评论 0原文

我在 ViewController 中显示 UIPopoverController,并且我想将一张图像从弹出窗口拖到 ViewController。

我知道要做到这一点,我需要使用 UIGestureRecognizer,但我不知道如何做。我可以在弹出窗口周围移动图像,但无法将其拖放到 ViewController 中。

我的代码:

-(void)viewDidLoad
{
    UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(moveImage:)];
    [panGesture setMinimumNumberOfTouches:1];
    [panGesture setMaximumNumberOfTouches:1];
    [self.view addGestureRecognizer:panGesture];    
}

- (void)moveImage:(UIPanGestureRecognizer *)recognizer 
{
    CGPoint newCenter = [recognizer translationInView:self.view];

    if([recognizer state] == UIGestureRecognizerStateBegan) {

        beginX = ball.center.x; 
        beginY = ball.center.y;
    }

    newCenter = CGPointMake(beginX + newCenter.x, beginY + newCenter.y);

    [ball setCenter:newCenter];
}

I'm showing a UIPopoverController in a ViewController, and I want to drag one image from the popover to the ViewController.

I know that to do it, I need to use a UIGestureRecognizer, but I don't know how. I can move the image around the popover, but I can't drag and drop it to the ViewController.

My code:

-(void)viewDidLoad
{
    UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(moveImage:)];
    [panGesture setMinimumNumberOfTouches:1];
    [panGesture setMaximumNumberOfTouches:1];
    [self.view addGestureRecognizer:panGesture];    
}

- (void)moveImage:(UIPanGestureRecognizer *)recognizer 
{
    CGPoint newCenter = [recognizer translationInView:self.view];

    if([recognizer state] == UIGestureRecognizerStateBegan) {

        beginX = ball.center.x; 
        beginY = ball.center.y;
    }

    newCenter = CGPointMake(beginX + newCenter.x, beginY + newCenter.y);

    [ball setCenter:newCenter];
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文