瀏覽代碼

new view image

marinofaggiana 4 年之前
父節點
當前提交
e20d37b1eb

+ 9 - 5
iOSClient/Viewer/NCViewerImage/NCViewerImagePageContainer.swift

@@ -83,6 +83,13 @@ class NCViewerImagePageContainer: UIViewController, UIGestureRecognizerDelegate
         navigationController?.navigationBar.prefersLargeTitles = true
         navigationController?.navigationBar.prefersLargeTitles = true
     }
     }
     
     
+    @objc func viewUnload() {
+        
+        navigationController?.popViewController(animated: true)
+    }
+    
+    //MARK: - Gesture
+
     func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
     func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
         
         
         if let gestureRecognizer = gestureRecognizer as? UIPanGestureRecognizer {
         if let gestureRecognizer = gestureRecognizer as? UIPanGestureRecognizer {
@@ -151,6 +158,8 @@ class NCViewerImagePageContainer: UIViewController, UIGestureRecognizerDelegate
         }
         }
     }
     }
     
     
+    //MARK: - Function
+
     func changeScreenMode(to: ScreenMode) {
     func changeScreenMode(to: ScreenMode) {
         if to == .full {
         if to == .full {
             navigationController?.setNavigationBarHidden(true, animated: false)
             navigationController?.setNavigationBarHidden(true, animated: false)
@@ -170,11 +179,6 @@ class NCViewerImagePageContainer: UIViewController, UIGestureRecognizerDelegate
         }
         }
     }
     }
     
     
-    @objc func viewUnload() {
-        
-        navigationController?.popViewController(animated: true)
-    }
-    
     //MARK: - Action
     //MARK: - Action
     
     
     @objc func openMenuMore() {
     @objc func openMenuMore() {

+ 23 - 22
iOSClient/Viewer/NCViewerImage/NCViewerImageZoom.swift

@@ -33,11 +33,11 @@ class NCViewerImageZoom: UIViewController {
     @IBOutlet weak var statusViewImage: UIImageView!
     @IBOutlet weak var statusViewImage: UIImageView!
         
         
     weak var delegate: NCViewerImagePageContainer?
     weak var delegate: NCViewerImagePageContainer?
-    var image: UIImage!
+    
+    var image: UIImage = UIImage()
     var metadata: tableMetadata = tableMetadata()
     var metadata: tableMetadata = tableMetadata()
     var index: Int = 0
     var index: Int = 0
-
-    var doubleTapGestureRecognizer: UITapGestureRecognizer!
+    var doubleTapGestureRecognizer: UITapGestureRecognizer = UITapGestureRecognizer()
     
     
     required init?(coder aDecoder: NSCoder) {
     required init?(coder aDecoder: NSCoder) {
         super.init(coder: aDecoder)
         super.init(coder: aDecoder)
@@ -49,20 +49,14 @@ class NCViewerImageZoom: UIViewController {
     override func viewDidLoad() {
     override func viewDidLoad() {
         super.viewDidLoad()
         super.viewDidLoad()
         
         
-        self.scrollView.delegate = self
-        self.scrollView.contentInsetAdjustmentBehavior = .never
-        self.imageView.image = self.image
-        self.imageView.frame = CGRect(x: self.imageView.frame.origin.x, y: self.imageView.frame.origin.y, width: self.image.size.width, height: self.image.size.height)
-        self.view.addGestureRecognizer(self.doubleTapGestureRecognizer)        
-    }
-    
-    override func viewDidLayoutSubviews() {
-        super.viewDidLayoutSubviews()
+        scrollView.delegate = self
+        scrollView.contentInsetAdjustmentBehavior = .never
+        imageView.image = self.image
+        imageView.frame = CGRect(x: self.imageView.frame.origin.x, y: self.imageView.frame.origin.y, width: self.image.size.width, height: self.image.size.height)
         
         
-        updateZoomScaleForSize(view.bounds.size)
-        updateConstraintsForSize(view.bounds.size)
+        view.addGestureRecognizer(self.doubleTapGestureRecognizer)
     }
     }
-
+    
     override func viewWillAppear(_ animated: Bool) {
     override func viewWillAppear(_ animated: Bool) {
         super.viewWillAppear(animated)
         super.viewWillAppear(animated)
         
         
@@ -76,21 +70,26 @@ class NCViewerImageZoom: UIViewController {
         updateConstraintsForSize(view.bounds.size)
         updateConstraintsForSize(view.bounds.size)
     }
     }
     
     
-    override func didReceiveMemoryWarning() {
-        super.didReceiveMemoryWarning()
+    override func viewDidLayoutSubviews() {
+        super.viewDidLayoutSubviews()
+        
+        updateZoomScaleForSize(view.bounds.size)
+        updateConstraintsForSize(view.bounds.size)
     }
     }
     
     
+    //MARK: - Gesture
+
     @objc func didDoubleTapWith(gestureRecognizer: UITapGestureRecognizer) {
     @objc func didDoubleTapWith(gestureRecognizer: UITapGestureRecognizer) {
         
         
         let pointInView = gestureRecognizer.location(in: self.imageView)
         let pointInView = gestureRecognizer.location(in: self.imageView)
         var newZoomScale = self.scrollView.maximumZoomScale
         var newZoomScale = self.scrollView.maximumZoomScale
         
         
-        if self.scrollView.zoomScale >= newZoomScale || abs(self.scrollView.zoomScale - newZoomScale) <= 0.01 {
-            newZoomScale = self.scrollView.minimumZoomScale
+        if scrollView.zoomScale >= newZoomScale || abs(scrollView.zoomScale - newZoomScale) <= 0.01 {
+            newZoomScale = scrollView.minimumZoomScale
         }
         }
         
         
-        let width = self.scrollView.bounds.width / newZoomScale
-        let height = self.scrollView.bounds.height / newZoomScale
+        let width = scrollView.bounds.width / newZoomScale
+        let height = scrollView.bounds.height / newZoomScale
         let originX = pointInView.x - (width / 2.0)
         let originX = pointInView.x - (width / 2.0)
         let originY = pointInView.y - (height / 2.0)
         let originY = pointInView.y - (height / 2.0)
         
         
@@ -98,6 +97,8 @@ class NCViewerImageZoom: UIViewController {
         self.scrollView.zoom(to: rectToZoomTo, animated: true)
         self.scrollView.zoom(to: rectToZoomTo, animated: true)
     }
     }
     
     
+    //MARK: - Function
+
     fileprivate func updateZoomScaleForSize(_ size: CGSize) {
     fileprivate func updateZoomScaleForSize(_ size: CGSize) {
         
         
         let widthScale = size.width / imageView.bounds.width
         let widthScale = size.width / imageView.bounds.width
@@ -121,7 +122,7 @@ class NCViewerImageZoom: UIViewController {
 
 
         let contentHeight = yOffset * 2 + self.imageView.frame.height
         let contentHeight = yOffset * 2 + self.imageView.frame.height
         view.layoutIfNeeded()
         view.layoutIfNeeded()
-        self.scrollView.contentSize = CGSize(width: self.scrollView.contentSize.width, height: contentHeight)
+        scrollView.contentSize = CGSize(width: scrollView.contentSize.width, height: contentHeight)
     }
     }
 }
 }