Zoom a ScrollView

PDF for offline use
Sample Code:
Related Articles:
Related SDKs:

Let us know how you feel about this

Translation Quality


This recipe shows how to load a large image into a scroll view and allow the user to pinch-zoom.


To display an image inside a scroll view and support the pinch-to-zoom gesture:

  1. Add the image to your Xamarin.iOS project and ensure the Build Action is set to BundleResource. The example code loads the image “halloween.jpg”

  2. Declare class level fields for a UIScrollView and UIImageVIew

UIScrollView scrollView;
UIImageView imageView;
  1. Create a UIScrollView and it to the View Controller:
scrollView = new UIScrollView (
    new CGRect (0, 0, View.Frame.Width
    , View.Frame.Height - NavigationController.NavigationBar.Frame.Height));/
View.AddSubview (scrollView);
  1. Create a UIImageView and it to the Scroll View:
imageView = new UIImageView (UIImage.FromFile ("halloween.jpg"));
scrollView.ContentSize = imageView.Image.Size;
scrollView.AddSubview (imageView);
  1. Set the zoom properties:
scrollView.MaximumZoomScale = 3f;
scrollView.MinimumZoomScale = .1f;
scrollView.ViewForZoomingInScrollView += (UIScrollView sv) => { return imageView; };

Only a portion of the image will appear on the iPhone screen. The user can pan around the image by dragging or zoom with the pinch gesture.

To test the pinch gesture in the simulator, hold down the option key while dragging – two grey circles will be displayed to illustrate the simulated pinch gesture:

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.