Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.

id title brief sdk
Create an Animation Block
This recipe shows how to animate using blocks from Xamarin.iOS.


Follow these steps to create the animation:

  • Add an image named Icon.png to the project with a Build Action of Content.
  • Add the following using directives:
using CoreGraphics;
  • In a UIViewController subclass create class variables for a UIImageView, UIImage and point.
CGPoint pt;
UIImage image;
UIImageView imageView;
  • In the ViewDidLoad method, create the UIImageView, assign it a UIImage and add it as a subview.
imageView = new UIImageView(new CGRect (50, 50, 57, 57));
image = UIImage.FromFile("Icon.png");
imageView.Image = image;
  • Set the point to the Center property of the UIImageView.
pt = imageView.Center;
  • Call UIView.Animate and pass the duration, delay, animation options, and lambda expressions for the animation code and animation completion code.
UIView.Animate (2, 0, UIViewAnimationOptions.CurveEaseInOut | UIViewAnimationOptions.Autoreverse,
				() => {
					imageView.Center =
						new CGPoint (UIScreen.MainScreen.Bounds.Right - imageView.Frame.Width / 2, imageView.Center.Y);},
				() => {
					imageView.Center = pt; }

Additional Information

Objective-C blocks are bound to NSAction delegates in C#. Therefore, lambda expressions can be used to define the code that will be called for the animation as well as the animation completion callback.