Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在PDFView上移动/拖动时限制位置视图?(Swift)_Ios_Swift_Cocoa Touch_Touch Event_Pdfview - Fatal编程技术网

Ios 如何在PDFView上移动/拖动时限制位置视图?(Swift)

Ios 如何在PDFView上移动/拖动时限制位置视图?(Swift),ios,swift,cocoa-touch,touch-event,pdfview,Ios,Swift,Cocoa Touch,Touch Event,Pdfview,我在pdf上创建了一个自定义视图(SignatoryView),当我单击导航栏上的“添加”按钮时,它会在pdf视图上添加该SignatoryView,根据我的选择,我可以将该签名视图移动/拖动到任何位置 问题:当我移动pdf上的签名视图时,它超出了pdfView的边缘。(左侧、右侧、底部和顶部) 这是演示: 它不应该超出其边界,它应该只能在PDF视图的内部边缘移动 我怎样才能做到这一点 您只需获得签名宽度的一半和高度的一半,在设置签名的新中心位置时,从原点x和/或y添加或减去签名: let m

我在pdf上创建了一个自定义视图(SignatoryView),当我单击导航栏上的“添加”按钮时,它会在pdf视图上添加该SignatoryView,根据我的选择,我可以将该签名视图移动/拖动到任何位置

问题:当我移动pdf上的签名视图时,它超出了pdfView的边缘。(左侧、右侧、底部和顶部)

这是演示

它不应该超出其边界,它应该只能在PDF视图的内部边缘移动


我怎样才能做到这一点

您只需获得签名宽度的一半和高度的一半,在设置签名的新中心位置时,从原点x和/或y添加或减去签名:

let minX = frame!.width/2
let minY = frame!.height/2
let maxX = pdfView.frame.width-minX
let maxY = pdfView.frame.height-minY
customView1?.center = CGPoint(
    x: min(maxX, max(minX, touchLocation!.x)),
    y: min(maxY ,max(minY, touchLocation!.y)))

亲爱的@Leo我在做类似的例子,我面临一个问题,如果你能解决我的问题,你能检查一下吗。这里是链接-如果你想让我看一下,请随意问另一个问题并在这里评论链接it@NikitaPatil如果这没有帮助,请让我知道我已经实现了移动/拖动pdf上的任何视图。现在在代码中,当前的问题就在那里,也就是说,我没有达到我必须写代码(你对当前问题的回答)来限制位置的程度。你能检查一下吗,一次让我知道。这是代码-先生,你检查过我的新项目了吗?