1

我想要的是,在 pdf 视图之上,我想添加一个图像(一个或多个图像)。一旦我从某个按钮添加,它必须在 pdf 视图上出现(出现)到任何位置,并且根据我的选择,我可以在 pdf 视图的任何位置/位置上拖动/移动该图像。

我尝试了什么

示例 1:我拿了一个 ViewController 并以编程方式在视图上添加了一个 imageView。并且使用一些触摸事件方法,我可以轻松地将图像移动/拖动到视图上的任何位置

这是简短的演示:

在此处输入图像描述

这是代码,

    #import "ViewController.h"

@interface ViewController ()
{
    UIImageView * imageview;
    CGRect frame;
}
@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    CGRect myImageRect = CGRectMake(100, 100, 200, 35);
    self->imageview = [[UIImageView alloc] initWithFrame:myImageRect];
    [self->imageview setImage:[UIImage imageNamed:@"signer"]];
    [self.view addSubview:self->imageview];
}
 

- (void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event {
    UITouch *touch = [[event allTouches] anyObject];
    //CGPoint touchLocation = [touch locationInView:touch.view];
    CGPoint touchLocation = [touch locationInView:touch.view];

    CGRect frame = [self.view convertRect:self->imageview.frame fromView:self.view];
    NSLog(@"touchesMoved %@", CGRectCreateDictionaryRepresentation(frame));
    
    if ([touch.view isEqual: self.view]) {

        self->imageview.center = touchLocation;

        return;
    }
}

@end

我想要实现的目标

示例 2:我拿了一个 ViewController,并在上面添加了 pdf 视图。同样,我在 pdfView 上添加了一个 imageView。当我尝试拖动/移动该 imageView 时,它不会像在 example1 中那样移动。

这里看起来像这样,

在此处输入图像描述

如何实现在 pdfView 上移动/拖动 imageView?任何人都可以帮助我。

两个项目代码都可以在以下链接中找到

4

1 回答 1

1

问题是imageviewscrollview of pdfview. 其他问题移动imageView不动,example 1因为pdfView包含scrollview所以当你触摸pdfview它时调用pdfviewtouchesMoved方法声明的手势ViewController

解决方案:

添加这一行viewDidLoad

self->imageview.userInteractionEnabled = YES;

preparePDFViewWithPageMode最后在方法中添加这一行

[self.pdfView bringSubviewToFront:self->imageview];

在“touchMoved”中替换

- (void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event {
       UITouch *touch = [[event allTouches] anyObject];
       CGPoint touchLocation = [touch locationInView:self.pdfView];
       self->imageview.center = touchLocation;
}

在此处输入图像描述

于 2020-10-02T06:25:44.250 回答