我搜索了很多资源没有结果为止。
我能够成功地放大/缩小和移动左,右,上,下在其下一个滚动型的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放大,并且是造成冲突。
添加四个按钮和映射每一个下面的操作。如果你不使用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
}