在uiscrollview中向uiimageview添加手势(pan,doubletap,pinch)

时间:2017-01-25 13:07:59

标签: ios uiscrollview uiimageview zoom uigesturerecognizer

目前我正在尝试创建某种图像查看器,您可以在其中单击图像,然后以完整尺寸显示该图像。现在我想添加手势来缩放。我想了解并了解如何添加捏合手势来放大和缩小,以便能够平移图像并使用双击手势快速放大。我没有找到很多好的教程。

我知道你放大了视图,而不是放大图像。这就是您使用包含ImageView的ScrollView的原因。现在缺少什么来启用缩放,捏合和移动图像?

提前感谢您提供任何有用的帖子。

以下是此功能的“我的”当前代码库。需要添加什么?

class DetailViewController: UIViewController, UIScrollViewDelegate {

var scrollView: UIScrollView!
var imageView: UIImageView!

override func viewDidLoad()
{
    super.viewDidLoad()

    self.navigationController?.isNavigationBarHidden = false

    scrollView=UIScrollView()
    scrollView.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: (self.view.frame.height - (self.navigationController?.navigationBar.frame.size.height)! + 44))
    scrollView.minimumZoomScale=1
    scrollView.maximumZoomScale=3
    scrollView.bounces=false
    scrollView.delegate=self
    self.view.addSubview(scrollView)

    imageView=UIImageView()
    imageView.image = UIImage(named: "inlinelogo.jpg")
    imageView.frame = CGRect(x: 0, y: 0, width: scrollView.frame.width, height: scrollView.frame.height - (44 + UIApplication.shared.statusBarFrame.size.height))
    imageView.backgroundColor = .black
    imageView.contentMode = .scaleAspectFit
    scrollView.addSubview(imageView)

}

func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView?
    {
    return imageView
    }
}

1 个答案:

答案 0 :(得分:2)

您错过了userInteractionEnabled添加

UIImageView属性
imageView.isuserInteractionEnabled = true