void UpdateImage(UIImage image, NSData imageData)
        {
            if (imageData != null)
            {
                ScalingImageView.UpdateImageData(imageData);
            }
            else
            {
                ScalingImageView.UpdateImage(image);
            }

            if (imageData != null || image != null)
            {
                LoadingView.RemoveFromSuperview();
            }
            else
            {
                View.AddSubview(LoadingView);
            }
        }
        public void DidDoubleTapWithGestureRecognizer(UITapGestureRecognizer recognizer)
        {
            var pointInView = recognizer.LocationInView(ScalingImageView.ImageView);

            var newZoomScale = ScalingImageView.MaximumZoomScale;

            if ((ScalingImageView.ZoomScale >= ScalingImageView.MinimumZoomScale) || (Math.Abs(ScalingImageView.ZoomScale - ScalingImageView.MaximumZoomScale) <= 0.01))
            {
                newZoomScale = ScalingImageView.MinimumZoomScale;
            }

            var scrollViewSize = ScalingImageView.Bounds.Size;

            var width   = scrollViewSize.Width / newZoomScale;
            var height  = scrollViewSize.Height / newZoomScale;
            var originX = pointInView.X - (width / 2.0);
            var originY = pointInView.Y - (height / 2.0);

            var rectToZoomTo = new CGRect(originX, originY, width, height);

            ScalingImageView.ZoomToRect(rectToZoomTo, true);
        }