Пример #1
0
        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);
        }
Пример #2
0
        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);
        }