         zoomScale = minimumZoomScale
     }
     
-    // MARK: - API
-    
-    /// This will center content offset horizontally and verticaly.
-    /// It's also called whenever `image` property is set.
-    open func centerContentOffset() {
-        let centerX = (stackView.frame.size.width - bounds.size.width) / 2.0
-        let centerY = (stackView.frame.size.height - bounds.size.height) / 2.0
-        let offset = CGPoint(x: centerX, y: centerY)
-        setContentOffset(offset, animated: false)
-    }
-    
-    // MARK: - Helpers
-    
     private var pointToCenterAfterResize: CGPoint?
     
     private func prepareToResize() {

    /// Mode to be used when calculating zoom scale. Default value is `.automatic`.
    open var displayMode: DisplayMode = .automatic {
        didSet {
            if displayMode != oldValue {
                configureZoomScales()
            }
        }
    }

        resetImage()
        resetZoomScales()
        
        if let image = image {
            updateImage(image)
            updateContentSize(with: image)
            updateZoomScales(with: image)
        }
        
        centerContentOffset()
    }
