public override void ViewDidLoad() { base.ViewDidLoad(); // Perform any additional setup after loading the view, typically from a nib. Imagen.UserInteractionEnabled = true; var GestoToque = new UITapGestureRecognizer(Tocando); Imagen.AddGestureRecognizer(GestoToque); GestoMover = new UIPanGestureRecognizer(() => { if ((GestoMover.State == UIGestureRecognizerState.Began || GestoMover.State == UIGestureRecognizerState.Changed) && (GestoMover.NumberOfTouches == 1)) { var p0 = GestoMover.LocationInView(View); if (coordenadaX == 0) { coordenadaX = p0.X - Imagen.Center.X; } if (coordenadaY == 0) { coordenadaY = p0.Y - Imagen.Center.Y; } var p1 = new CGPoint(p0.X - coordenadaX, p0.Y - coordenadaY); Imagen.Center = p1; } else { coordenadaX = 0; coordenadaY = 0; } }); GestoRotar = new UIRotationGestureRecognizer(() => { if ((GestoRotar.State == UIGestureRecognizerState.Began || GestoRotar.State == UIGestureRecognizerState.Changed) && (GestoRotar.NumberOfTouches == 2)) { Imagen.Transform = CGAffineTransform.MakeRotation(GestoRotar.Rotation + rotacion); } else if (GestoRotar.State == UIGestureRecognizerState.Ended) { rotacion = GestoRotar.Rotation; } }); Imagen.AddGestureRecognizer(GestoMover); Imagen.AddGestureRecognizer(GestoRotar); }
public override void ViewDidLoad() { base.ViewDidLoad(); Imagen.UserInteractionEnabled = true; var GestoToque = new UITapGestureRecognizer(Tocando); Gestomover = new UIPanGestureRecognizer(() => { if ((Gestomover.State == UIGestureRecognizerState.Began || Gestomover.State == UIGestureRecognizerState.Changed) && (Gestomover.NumberOfTouches == 1)) { var p0 = Gestomover.LocationInView(View); if (CoordenadaX == 0) { CoordenadaX = p0.X - Imagen.Center.X; } if (CoordenadaY == 0) { CoordenadaY = p0.Y - Imagen.Center.Y; } var p1 = new CGPoint(p0.X - CoordenadaX, p0.Y - CoordenadaY); Imagen.Center = p1; } else { CoordenadaX = 0; CoordenadaY = 0; } }); GestoRotar = new UIRotationGestureRecognizer(() => { if ((GestoRotar.State == UIGestureRecognizerState.Began || GestoRotar.State == UIGestureRecognizerState.Changed) && (GestoRotar.NumberOfTouches == 2)) { Imagen.Transform = CGAffineTransform.MakeRotation(GestoRotar.Rotation + Rotation); } else if (GestoRotar.State == UIGestureRecognizerState.Ended) { Rotation = GestoRotar.Rotation; } }); Imagen.AddGestureRecognizer(Gestomover); Imagen.AddGestureRecognizer(GestoRotar); Imagen.AddGestureRecognizer(GestoToque); }