使用UIScrollView缩放不起作用

时间:2016-10-05 12:00:49

标签: ios iphone swift uiscrollview image-zoom

所以伙计们,图片出现在View上,UIView是用ScrollView嵌入,奥特莱斯很好,图像出现但是当我尝试缩放时没有任何反应,我会感谢任何建议,或者带有按钮+的示例事件和 - 或滑块,如果这将工作。 我已经完成了我在互联网上找到的所有内容,但它不起作用,这是我的代码:

class TakenPhotoPreviewViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UIScrollViewDelegate {

@IBOutlet weak var scrollViewOutlet: UIScrollView!
@IBOutlet weak var imageViewOutlet: UIImageView!
var takenImage: UIImage = UIImage()
let picker = UIImagePickerController()

override func viewDidLoad() {
    super.viewDidLoad()
    imageViewOutlet.image = takenImage
    picker.delegate = self
    scrollViewOutlet.delegate = self
    setForZoom()

其中,methode setForZoom为

    func setForZoom () {
    imageViewOutlet.frame = CGRect(origin: CGPoint.zero, size: takenImage.size)
    scrollViewOutlet.addSubview(imageViewOutlet)
    scrollViewOutlet.contentSize = takenImage.size
    scrollViewOutlet.clipsToBounds = false
    let scrollViewFrame = scrollViewOutlet.frame
    let scaleWidth = scrollViewFrame.size.width / scrollViewOutlet.contentSize.width
    let scaleHeight = scrollViewFrame.size.height / scrollViewOutlet.contentSize.height
    let minScale = min(scaleWidth, scaleHeight);
    scrollViewOutlet.minimumZoomScale = minScale;

    scrollViewOutlet.maximumZoomScale = 4.0
    scrollViewOutlet.zoomScale = minScale;

我也有:

private func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {

    return imageViewOutlet

}

甚至

 func scrollViewDidEndZooming(_ scrollView: UIScrollView, with view: UIView?, atScale scale: CGFloat) {

}

导致有人遇到问题,因为这不是写的.... 请有人知道为什么它不起作用?

3 个答案:

答案 0 :(得分:0)

从您的应用程序中删除这段代码,并尝试它应该工作。截至目前,您使用图像大小限制ScrollView内容大小。

scrollViewOutlet.contentSize = takenImage.size

答案 1 :(得分:0)

问题可能是minScale,您将zoomScale的{​​{1}}设置为scrollViewminScale存在问题,无法更改,因此您无法更改任何内容。

答案 2 :(得分:0)

问题是否已解决?????尝试删除此行代码。

scrollViewOutlet.zoomScale = minScale

顺便说一下,你应该注意变量的名称。