 
   override func prepareForReuse() {
     super.prepareForReuse()
+
+    relativeZoomScaleBeforeUpdate = scrollView.zoomScale
+    relativeCenterBeforeUpdate = CGPoint(
+      x: (scrollView.contentOffset.x + scrollView.frame.width / 2) / scrollView.contentSize.width,
+      y: (scrollView.contentOffset.y + scrollView.frame.height / 2) / scrollView.contentSize.height)
+
     imageView.image = nil
     scrollView.zoomScale = 1
     updateScrollViewAndImageViewForCurrentMetrics()

        imageView.image = image
      }
      updateScrollViewAndImageViewForCurrentMetrics()
    }
  }
  weak var delegate: AgrumeCellDelegate?

  private var imageDragOffsetFromActualTranslation: UIOffset!
  private var imageDragOffsetFromImageCenter: UIOffset!
  private var attachmentBehavior: UIAttachmentBehavior?
  
  private var relativeZoomScaleBeforeUpdate: CGFloat?
  private var relativeCenterBeforeUpdate: CGPoint?

  var image: UIImage? {
    didSet {
