Created
June 15, 2019 16:53
-
-
Save Bigigrammer/420dcb00f0a73ab3d82d60eab8d970cd to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
class ViewController: UIViewController, UIScrollViewDelegate { | |
@IBOutlet var scrollView: UIScrollView! | |
let imageView = UIImageView() | |
override func viewDidLoad() { | |
super.viewDidLoad() | |
// Do any additional setup after loading the view. | |
scrollView.delegate = self | |
scrollView.addSubview(imageView) | |
scrollView.alwaysBounceVertical = true | |
scrollView.alwaysBounceHorizontal = true | |
scrollView.maximumZoomScale = 2 | |
scrollView.minimumZoomScale = 0.001 | |
} | |
@IBAction func showImg1(_ sender: Any) { | |
let image0 = UIImage(named: "Image") | |
// ここ大事 | |
scrollView.zoomScale = 1 | |
imageView.image = image0 | |
imageView.frame.size = image0!.size | |
scrollView.contentSize = image0!.size | |
adjustImageFitInScrollView() | |
} | |
@IBAction func showImg2(_ sender: Any) { | |
let image1 = UIImage(named: "Image-1") | |
// ここ大事 | |
scrollView.zoomScale = 1 | |
imageView.image = image1 | |
imageView.frame.size = image1!.size | |
adjustImageFitInScrollView() | |
} | |
public func adjustImageFitInScrollView(){ | |
guard let img = self.imageView.image else {return} | |
let w_scale = scrollView.frame.width / img.size.width | |
let h_scale = scrollView.frame.height / img.size.height | |
let scale = min(w_scale, h_scale) | |
scrollView.minimumZoomScale = scale | |
print(scrollView.contentSize) | |
scrollView.setZoomScale(scale, animated: true) | |
} | |
func viewForZooming(in scrollView: UIScrollView) -> UIView? { | |
return imageView | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment