我有一张图片,称之为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
}
我找到旧框架,而不是放大的框架...如何获得缩放的框架尺寸以便我可以检测到碰撞?