Я новичок в IOS Программирование от Android Я пытаюсь получить X, Y Координаты для двойного касания на экране, но мне нужны координаты по отношению к самому изображению, а не к изображение.IOS X, Y координаты с изображения
Это мой взгляд код контроллера
class ThirdViewController: UIViewController, UIScrollViewDelegate
{
@IBOutlet var scrollView: UIScrollView!
@IBOutlet weak var imageView: UIImageView!
var firstPass:String!
var secondPass:String!
override func viewDidLoad() {
super.viewDidLoad()
self.scrollView.minimumZoomScale=1.0
self.scrollView.maximumZoomScale=20.0
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: Selector("tapAction:"))
tapGestureRecognizer.numberOfTapsRequired=2
self.imageView.userInteractionEnabled = true
self.imageView.addGestureRecognizer(tapGestureRecognizer)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
return self.imageView
}
func tapAction(sender: UITapGestureRecognizer) {
let touchPoint = sender.locationInView(self.imageView)
let Z1:String = String(touchPoint.x)
let Z2:String = String(touchPoint.y)
print("YES It Works X= " + Z1 + " Y= " + Z2)
}
print("It Works X= " + Z1 + " Y= " + Z2)
}
}
Это работает нормально, и когда дважды постучала печатает координаты
изображение является PNG внутри ImageView, который в свою очередь, находится внутри Scrollview
PNG имеет размеры 6400px X 4100px, но если я дважды коснувшись в правом нижнем углу изображения, а не получаю 6400,4100, я получаю 478,415, поэтому он, очевидно, использует координаты с изображения.
В андроида я хотел бы использовать PointF, чтобы получить эти
Есть ли эквивалент в Swift
Я использую Xcode 7 и Swift 2.0
Любая помощь ценится
Марк
Прошло некоторое время с тех пор, как я использовал прокрутки, и я далеко от своего компьютера, поэтому я не могу проверить, но я считаю, что вы должны добавить self.scrollView.contentOffset для touchPoint. –
Потому что вы получаете координату точки, а не координату пикселя. Вам нужно будет перевести это самостоятельно. Используйте размер изображения (px) и размер экрана устройства (или фреймворк imgview) и вычислите его. – tskulbru
Благодарим за помощь в любых идеях или указателя на места, где я вижу, как это делается, и как это будет обрабатывать различные размеры устройств и разрешение для разных устройств, поскольку это универсальное приложение. –