缩放无法在滚动视图中工作

问题描述:

我在swift 3中有滚动视图。缩放无效。我已经设置了滚动视图并在其中放置了一个imageview。我已将自己设置为委托并实现了viewForZoomingInScrollView。请看一下。谢谢。缩放无法在滚动视图中工作

编辑:我之前没有提到的另一件事是,这是导航控制器中的视图。会影响它吗?

class FlowDiagramViewController: UIViewController, UIScrollViewDelegate { 

    var scrollView: UIScrollView! 
    var imageView:UIImageView! = UIImageView() 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Do any additional setup after loading the view. 
     let image = UIImage(named: "flowNewRotated1242x2208.png") 
     imageView = UIImageView(image: image) 

     setupPictureWithZoom() 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    func setupPictureWithZoom() { 
     // http://*.com/questions/30014241/uiimageview-pinch-zoom-swift 

     imageView.frame = CGRect(x: 0, y: 0, width: 1242, height: 2208) 
     // imageView.transform = imageView.transform.rotated(by: CGFloat(M_PI_2)) 
     imageView!.layer.cornerRadius = 11.0 
     imageView!.clipsToBounds = false 

     scrollView = UIScrollView(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height)) 


     scrollView.minimumZoomScale = 0.25 
     scrollView.maximumZoomScale = 5.0 

     scrollView.delegate = self 

     scrollView.backgroundColor = UIColor(red: 90, green: 90, blue: 90, alpha: 0.90) 
     scrollView.alwaysBounceVertical = false 
     scrollView.alwaysBounceHorizontal = false 
     scrollView.showsVerticalScrollIndicator = true 
     scrollView.flashScrollIndicators() 
     scrollView.contentSize = CGSize(width: 1242, height: 2208) 


     scrollView.addSubview(imageView!) 
     view.addSubview(scrollView!) 


     scrollView.setZoomScale(0.25, animated: true) 
    } 

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

我已经尝试在故事板和代码中定义scrollview。

这是一个迅速的3问题。新的函数原型:

SWIFT 3版

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

SWIFT 2版

// func viewForZoomingInScrollView(scrollView: UIScrollView!) -> UIView! { 
//  return imageView 
// } 
+0

接受这样的答案其他人会知道答案 – Vinodh

+0

移动代码时很难找到的常见问题。 Upvote这! –

这两条线必须在viewDidLoad中:

scrollView.minimumZoomScale = 0.25 
scrollView.maximumZoomScale = 5.0 
+0

这些已经在viewDidLoad中。检查函数调用 –

+0

对不起,这并没有为我工作 – mjpablo23

+0

谢谢你试图帮助,我想通了 – mjpablo23

尝试改变内容分级机像下面这就像一个魅力

scrollView.contentSize = imageView.frame.size 
+0

不幸的是,这并没有为我工作 – mjpablo23

+0

谢谢你试图帮助,我想通了 – mjpablo23