为什么我的UIScrollView不会缩放其中的UIImageView?

时间:2016-03-18 22:33:22

标签: ios swift cocoa-touch uiscrollview uiimageview

我有一个非常简单的项目,viewDidLoad我只有:

    sv = UIScrollView(frame: view.frame)
    sv.delegate = self
    view.addSubview(sv)

    let iv = UIImageView(image: UIImage(named: "earth-small.jpg"))
    sv.addSubview(iv)

    sv.contentSize = iv.image!.size
    print(iv.image!.size)
    sv.minimumZoomScale = 0.1
    sv.maximumZoomScale = 10.0
    sv.zoomScale = 1.0

    centerMedia()

除此之外:

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

func scrollViewDidScroll(scrollView: UIScrollView) {
    centerMedia()
}

func centerMedia() {
    var left = CGFloat(0.0)
    var top = CGFloat(0.0)

    if sv.contentSize.width < sv.bounds.size.width {
        left = (sv.bounds.size.width - sv.contentSize.width) / 2.0
    }

    if sv.contentSize.height < sv.bounds.size.height {
        top = (sv.bounds.size.height - sv.contentSize.height) / 2.0
    }

    sv.contentInset = UIEdgeInsets(top: top, left: left, bottom: top, right: left)
}

在我看来,就像我需要的一切才能放大。但是,如果我放大或缩小,图像视图(具有500pt x 300pt图像)永远不会增大或缩小。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

let iv = UIImageView(image: UIImage(named: "earth-small.jpg"))

你必须在全班范围内宣布。 (见评论)