我正在尝试确定用户触摸的图片的区域或区域。
例如,我希望有一个CGRect
来定义每个字母的位置,以便我可以确定用户何时触及" O"在以下图像之一......
我的第一个想法是使用locationInView
给我绝对坐标并将它们调整为ImageView
的相对大小。但是,由于我使用AspectFit
作为内容模式,因为顶部/底部的图像 padding ,给定区域的相对位置会随着每个屏幕尺寸和方向而变化和双方。
在完美的解决方案中,我还希望将此图像嵌入ScrollView
中,以便可以缩放。但是,如果有必要,我可以放弃。
我经常不使用手势和图像,所以我可能会遗漏一些明显的东西。我们将非常感谢您提供的任何帮助或想法。
答案 0 :(得分:0)
有简单的方法和艰难的方式。它可以轻松地将此图像分解为较小的图像,每个字母一个。这种方法的问题是使它们像单个图像一样排列。如果采用这种方法,您可以使用CGRectContainsPoint查看您点击的图像。或者您可以制作每个按钮或为每个图像提供手势识别器以识别按下的内容。如果您的设计要求您使用单个图像,那么您必须制作描述每个位置的命中图。每个字母都需要自己的CGMutablePathRef和CGPathMoveToPoint以及一些CGPathAddLineToPoint来描述它的形状和位置。 CGPathContainsPoint方法会告诉你你击中了哪一个。