//
// ViewController.swift
// SwiftAppLab
//
// Created by Bear on 2017/2/4.
// Copyright © 2017年 BeargerHunter. All rights reserved.
//
import UIKit
import Foundation
import SnapKit
class ViewController: UIViewController{
lazy var scrollView = { () -> UIScrollView in
let temp = UIScrollView()
temp.showsVerticalScrollIndicator = false
temp.showsHorizontalScrollIndicator = false
temp.maximumZoomScale = 3
return temp
}()
lazy var imageView = { () -> UIImageView in
let imageView = UIImageView(image: #imageLiteral(resourceName: "test1.jpg"))
imageView.isUserInteractionEnabled = true
return imageView
}()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.view.backgroundColor = UIColor.white
self.title = "Bear"
scrollView.frame = self.view.frame
self.view.addSubview(scrollView)
scrollView.backgroundColor = UIColor.blue
scrollView.delegate = self
scrollView.addSubview(imageView)
let doubleTapGestureRecognizer = UITapGestureRecognizer.init(target: self, action: #selector(handleTapGesture(_:)))
doubleTapGestureRecognizer.numberOfTapsRequired = 2
imageView.addGestureRecognizer(doubleTapGestureRecognizer)
}
func handleTapGesture(_ gesture:UIGestureRecognizer) {
if scrollView.zoomScale > 1.0 {
scrollView.setZoomScale(1.0, animated: true)
}else{
let touchPoint = gesture.location(in: imageView)
let newZoomScale = scrollView.maximumZoomScale
let xsize = self.view.frame.width/newZoomScale
let ysize = self.view.frame.height/newZoomScale
scrollView.zoom(to: CGRect.init(x:touchPoint.x - xsize/2, y:touchPoint.y - ysize/2, width:xsize, height:ysize), animated: true)
}
}
}
//Important:查看对应文档~
extension ViewController :UIScrollViewDelegate
{
func viewForZooming(in scrollView: UIScrollView) -> UIView? {
return self.imageView
}
}
网友评论