【发布时间】:2016-07-05 20:31:48
【问题描述】:
我有一个非常简单的项目,在 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 图像)永远不会增大或缩小。
我做错了什么?
【问题讨论】:
-
let iv = UIImageView(image: UIImage(named: "earth-small.jpg")) -> 你确定你不是只保存方法范围的图像视图吗?
-
@JonasFranz 我欠你一个。啊啊啊。如此简单。
标签: ios swift cocoa-touch uiscrollview uiimageview