在缩放的scrollView中检测图像冲突

时间:2017-03-27 11:57:43

标签: ios swift uiscrollview intersection layer

我有一张图片,称之为imageA。我将它添加到scrollView,一切正常......我可以平移/缩放等等。我添加第二个图像,将其称为imageB到scrollView。

现在我放大图像,效果也很好。

现在我编写了一种方法来检测我何时触摸imageB。我使用这些代码片段来检测imageB命中。

func zapSelectedMask(sender: UILongPressGestureRecognizer) {
    if (sender.state == .began){
        let zapLocation = sender.location(in: imageA.view)
        zeroInOnmasks(XCord: zapLocation.x, YCord: zapLocation.y)
    }
}

func zeroInOnmasks(XCord: CGFloat, YCord:CGFloat) -> Bool {
  let zeroIn = CGRect(x: XCord, y: YCord, width: 4, height: 4)
  var rectIndex = 0
  matchIndex = nil
  for rect2Inspect in self.imageALayers {
        let lookin = zeroIn.intersection(rect2Inspect.frame)
        if (lookin.width > 0.0 && lookin.height  > 0.0) {
            print("zeroInOnmasks matched")

除非我放大或缩小,否则我的对self.imageALayers中包含的imageBs的引用不正确。 imageB帧当然已经改变了。     现在我在这里打印出框架......

func viewForZooming(in scrollView: UIScrollView) -> UIView? {
    self.imageA.layer.sublayers?.forEach { print("view4zoom \($0.frame)") }
    return self.image2P
}

我找到旧框架,而不是放大的框架...如何获得缩放的框架尺寸以便我可以检测到碰撞?

0 个答案:

没有答案