ScrollView内にあるImageViewをタップした時の座標値を取得したい(Swift2.1)
UIScrollView内にUIImageViewを入れ,スクロール及びピンチによる拡大縮小が可能な状況で,
UIImageViewに表示した画像をタップするとその座標値を取得したいのですが,
unrecognized selector sent to instanceというエラーがコンソールに表示されて,うまくいきません.以下コードです.
import UIKit
class ViewController: UIViewController,UIScrollViewDelegate {
@IBOutlet weak var myScrollView: UIScrollView!
@IBOutlet weak var myImageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
// scrollview settings
self.myScrollView.delegate = self
self.myScrollView.minimumZoomScale = 1
self.myScrollView.maximumZoomScale = 8
self.myScrollView.scrollEnabled = true
self.myScrollView.showsHorizontalScrollIndicator = true
self.myScrollView.showsVerticalScrollIndicator = true
let singleTapGesture: UITapGestureRecognizer = UITapGestureRecognizer(target: self
, action:"singleTap:")
singleTapGesture.numberOfTapsRequired = 1
self.myImageView.userInteractionEnabled = true
self.myImageView.addGestureRecognizer(singleTapGesture)
}
// zoom
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
return self.myImageView
}
// singleTap
func singleTap(gesture: UITapGestureRecognizer, touches: Set<UITouch>, withEvent event: UIEvent?) -> Void {
for touch: AnyObject in touches {
let point = touch.locationInView(self.view)
let pointX = point.x
let pointY = point.y
print(pointX)
print(pointY)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
func singleTapの部分を以下のようにしていた時はエラーがなかったので,引数や戻り値の部分に問題があるのではないかと思っております.
func singleTap(gesture: UITapGestureRecognizer) -> Void {
print("tapped")
}
様々なネット上のサンプルを見よう見まねで進めているため,全くおかしなコードを書いてしまっているかもしれませんが,教えていただけますと幸いです.