使用UIButtons向左移动,向右,向上和向下的一个的UIImageView放大

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

我搜索了很多资源没有结果为止。

我能够成功地放大/缩小和移动左,右,上,下在其下一个滚动型的UIImageView刷卡。

如何实现使用按钮一样吗?我可以做的放大和缩小使用此代码:

@IBAction func zoomIn(_ sender: UIBarButtonItem) {
    imageScrollView.maximumZoomScale = 6.0
    if imageScrollView.zoomScale < imageScrollView.maximumZoomScale {
        imageScrollView.zoomScale = imageScrollView.zoomScale + 0.1
    }
}

@IBAction func zoomOut(_ sender: UIBarButtonItem) {
    imageScrollView.minimumZoomScale = 1
    if imageScrollView.zoomScale > imageScrollView.minimumZoomScale {
        imageScrollView.zoomScale = imageScrollView.zoomScale - 0.1
    }
}

这是我使用的代码:

@IBOutlet weak var imageScrollView: UIScrollView!
@IBOutlet weak var imageView: UIImageView!

    override func viewDidLoad() {
    super.viewDidLoad()

    imageScrollView.contentSize = self.imageView.frame.size
    imageScrollView.delegate = self
  }


override func viewWillLayoutSubviews() {
    super.viewWillLayoutSubviews()
    updateMinZoomScaleForSize(view.bounds.size)
}

// MARK: - Calculation of zoom scale for imageScrollView
fileprivate func updateMinZoomScaleForSize(_ size: CGSize) {
    let widthScale = size.width / imageView.bounds.width
    let heightScale = size.height / imageView.bounds.height
    let minScale = min(widthScale, heightScale)

    imageScrollView.minimumZoomScale = minScale
    imageScrollView.zoomScale = minScale
}

我需要在箭头的形状再添加4个按钮来移动向左,向右,向上和向下。做这一切的目的,是因为我想提请并在同一时间一个UIImageView放大,并且是造成冲突。

swift uiscrollview uiimageview core-graphics
1个回答
0
投票

添加四个按钮和映射每一个下面的操作。如果你不使用autolayout那么这会工作:

@IBAction func moveLeft(_ sender: UIBarButtonItem) {
  imageScrollView.frame.origin.x -= 10.0
}

@IBAction func moveRight(_ sender: UIBarButtonItem) {
  imageScrollView.frame.origin.x += 10.0
}

@IBAction func moveUp(_ sender: UIBarButtonItem) {
  imageScrollView.frame.origin.y += 10.0
}

@IBAction func moveDown(_ sender: UIBarButtonItem) {
  imageScrollView.frame.origin.y -= 10.0
}
© www.soinside.com 2019 - 2024. All rights reserved.