我有一个非常简单的项目,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图像)永远不会增大或缩小。
我做错了什么?
答案 0 :(得分:1)
let iv = UIImageView(image: UIImage(named: "earth-small.jpg"))
你必须在全班范围内宣布。 (见评论)