UIImageView缩放和触摸图像

时间:2017-03-09 10:26:36

标签: swift uiscrollview swift3 swift2

我有一个很大的图像,我想在ScrollView中显示这个图像,我想用图像的x和y坐标检测触摸区域。

如果我选择ScrollView的'用户交互启用',则缩放功能正在运行,但是touchesBegan方法无法在ScrollView上运行(它在外面工作), 如果我没有选择ScrollView的'用户交互启用',则缩放功能不起作用,但是在ScrollView上工作的 touchesBegan 方法我得到了坐标,但我不能变焦。

我该如何解决这个问题?

代码:

类ViewController:UIViewController,UIScrollViewDelegate {

@IBOutlet weak var scrollView: UIScrollView!

@IBOutlet weak var imageView: UIImageView!


override func viewDidLoad() {
    self.scrollView.minimumZoomScale=1.0;
    self.scrollView.isScrollEnabled = true
    self.scrollView.maximumZoomScale=7.0;
    self.scrollView.contentSize=CGSize(width: 1424,height: 1410);
    self.scrollView.delegate=self;
}

func viewForZooming(in scrollView: UIScrollView) -> UIView? {

    return self.imageView
}

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    if let touch = touches.first {
        let position = touch.location(in: self.imageView)
        print(position.x)
        print(position.y)
    }
}

0 个答案:

没有答案