通过StoryBoard在Scrollview中放大大图像

问题描述 投票:0回答:1

我正在构建一个应用程序,要在其中显示图像为1260x1000的平面布置图,该尺寸大于我的视图控制器的尺寸。我希望用户能够平移图像并进行放大和缩小,类似于地图在Mapview中的行为。

我能够使用以下代码以编程方式获得所需的结果。但是,我希望能够向图像添加按钮,因此在情节提要中更容易实现。如何在情节提要中完成相同的结果?

class ViewController: UIViewController, UIScrollViewDelegate {
    var scrollView: UIScrollView!
    var imageView: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()
        imageView = UIImageView(image: UIImage(named: "TorontoPATHNetworkMap_v.2018.08.pdf"))
        scrollView = UIScrollView(frame: view.bounds)
        scrollView.contentSize = imageView.bounds.size
        scrollView.addSubview(imageView)
        scrollView.delegate = self
        scrollView.minimumZoomScale = 0.3
        scrollView.maximumZoomScale = 5
        view.addSubview(scrollView)
    }

    func viewForZooming(in scrollView: UIScrollView) -> UIView? {
        return imageView
    }
}
ios swift uiscrollview uiimageview storyboard
1个回答
0
投票

如果要添加其他UI元素(按钮,标签,子视图等),并在缩放滚动视图内容时缩放和移动它们,则有两个选项:

1)在代码中将按钮添加为图像视图的子视图。它们将随图像视图一起移动/调整大小。

2)如果发现视觉上更方便地布局按钮,则可以在Storyboard / Interface Builder中进行布局。但是,在IB中,无法将子视图添加到UIImageView,因此您需要将图像视图和按钮嵌入“容器” UIView中。然后在您的控制器类中,从container view

返回viewForZooming
© www.soinside.com 2019 - 2024. All rights reserved.