我正在构建一个应用程序,我想在其中显示一个平面图,图像是1260x1000,大于我的视图控制器的大小。我希望用户能够平移图像并放大和缩小,类似于Mapview中地图的表现。我如何调整我的ScrollView属性以获得所需的结果?
首先,确保你的滚动视图的最大缩放比例大于默认的1.0。如果你想的话,你可以在Interface Builder中更改这个,或者使用 最大缩放比例 属性的代码。
让你的控制器委派你的滚动视图......scrollView.delegate = self。
确保你的视图控制器符合 UIScrollViewDelegate 协议,然后添加 viewForZooming(in:) 方法,像这样。
func viewForZooming(in scrollView: UIScrollView) -> UIView? {
return imageView
}
所以基本上你的代码会和这个类似
class YourViewController: UIViewController, UIScrollViewDelegate {
var scrollView: UIScrollView!
var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
imageView = UIImageView(image: UIImage(named: "yourImage.png"))
scrollView = UIScrollView(frame: view.bounds)
scrollView.contentSize = imageView.bounds.size
scrollView.addSubview(imageView)
scrollView.delegate = self
scrollView.minimumZoomScale = 0.3
scrollView.maximumZoomScale = 2
view.addSubview(scrollView)
}
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
return imageView
}
}