我有一个简单的测试应用程序,我想在其视图中平移图像。它不会平移或缩放,我看不出我的代码有什么问题。
我已经按照this教程,但在代码中实现了它。我已经使图像宽度与高度相同,所以我可以平移而不必缩放。
这是我的代码
import UIKit
class ViewController: UIViewController, UIScrollViewDelegate {
let scrollView: UIScrollView = {
let scrollView = UIScrollView()
return scrollView
}()
let zoomImageView: UIImageView = {
let imageView = UIImageView()
imageView.isUserInteractionEnabled = true
imageView.clipsToBounds = true
imageView.contentMode = .scaleAspectFill
imageView.image = #imageLiteral(resourceName: "lighthouse")
return imageView
}()
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
let screenSize = UIScreen.main.bounds
let screenHeight = screenSize.height
scrollView.frame = CGRect(x:0, y:0, width: screenHeight, height: screenHeight)
scrollView.delegate = self
scrollView.minimumZoomScale = 1.0
scrollView.maximumZoomScale = 3.0
zoomImageView.frame = CGRect(x:0, y:0, width: screenHeight, height: screenHeight)
scrollView.addSubview(self.zoomImageView)
view.addSubview(scrollView)
}
func viewForZooming(in scrollView: UIScrollView) -> UIView? {
return zoomImageView
}
}
答案 0 :(得分:2)
在代码中搜索术语contentSize
。你没有看到它,是吗?但关于滚动视图如何工作的最基本的事实是这样的:没有contentSize
的滚动视图无法滚动(即放置它时“平移”)。特别是,它必须具有大于其自身边界大小的内容大小,以便能够沿该轴(高度或宽度或两者)滚动。否则,没有什么可以滚动。