protected void DynamicAnimatorDidPause(UIDynamicAnimator animator)
        {
            this.Animator.RemoveAllBehaviors();

            _collision = null;
            _topView   = null;
            _push      = null;
            _gravity   = null;
            _composite = null;
            _animator  = null;

            this.SlidingViewController.TopViewController.View.UserInteractionEnabled = true;

            UIViewController topController = this.SlidingViewController.GetViewControllerForKey(ECSlidingViewController.ECTransitionContextTopViewControllerKey);

            if ((_panningRight && _positiveLeftToRight) || (!_panningRight && !_positiveLeftToRight))
            {
                topController.View.Frame = this.SlidingViewController.GetFinalFrameForViewController(topController);
                this.SlidingViewController.FinishInteractiveTransition();
            }
            else if ((_panningRight && !_positiveLeftToRight) || (!_panningRight && _positiveLeftToRight))
            {
                topController.View.Frame = this.SlidingViewController.GetInitialFrameForViewController(topController);
                this.SlidingViewController.CancelInteractiveTransition();
            }

            this.SlidingViewController.CompleteTransition(true);
        }
Пример #2
0
        public void applyGravity(object sender, EventArgs e)
        {
            animator = new UIDynamicAnimator(chart.PlotView);

            TKChartVisualPoint[] points = chart.VisualPointsForSeries(chart.Series [0]);

            for (int i = 0; i < points.Length; i++)
            {
                TKChartVisualPoint point  = points [i];
                CGPoint            center = originalValues [i];
                if (point.Animator != null)
                {
                    point.Animator.RemoveAllBehaviors();
                    point.Animator = null;
                }
                point.Center = center;
            }

            UICollisionBehavior collision = new UICollisionBehavior(points);

            collision.TranslatesReferenceBoundsIntoBoundary = true;

            UIGravityBehavior gravity = new UIGravityBehavior(points);

            gravity.GravityDirection = new CGVector(0.0f, 2.0f);

            UIDynamicItemBehavior dynamic = new UIDynamicItemBehavior(points);

            dynamic.Elasticity = 0.5f;

            animator.AddBehavior(dynamic);
            animator.AddBehavior(gravity);
            animator.AddBehavior(collision);
        }
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();
			/*
     			We want to show collisions between views and boundaries with different 
     			elasticities, we thus associate the two views to gravity and collision 
     			behaviors. We will only change the restitution parameter for one of 
     			these views.
     		*/
			var gravityBehavior = new UIGravityBehavior (square1, square2);

			var collisionBehavior = new UICollisionBehavior (square1, square2) {
				TranslatesReferenceBoundsIntoBoundary = true
			};
			collisionBehavior.BeganBoundaryContact += (sender, e) => {
				((UIView)e.DynamicItem).BackgroundColor = UIColor.LightGray;
			};
			collisionBehavior.EndedBoundaryContact += (sender, e) => {
				((UIView)e.DynamicItem).BackgroundColor = UIColor.Gray;
			};

			var propertiesBehavior = new UIDynamicItemBehavior (square2) {
				Elasticity = 0.5f
			};
	
			Animator = new UIDynamicAnimator (View);
			Animator.AddBehaviors (gravityBehavior, collisionBehavior, propertiesBehavior);
		}
Пример #4
0
        private UIView createChainLink(int n, double chainLinkHeight, UIView lastLink)
        {
            double y = -n * chainLinkHeight;

            var chainLink = new UIView();

            chainLink.BackgroundColor = UIColor.Clear;
            chainLink.Frame           = new CGRect(Center.X, y, chainWidth, chainLinkHeight);

            AddSubview(chainLink);

            var chainDynamics = new UIDynamicItemBehavior(chainLink);

            spiderAnimator.AddBehavior(chainDynamics);

            var attachment = lastLink == null
                ? new UIAttachmentBehavior(chainLink, anchorPoint)
                : new UIAttachmentBehavior(chainLink, lastLink);

            attachment.Length = (nfloat)chainLinkHeight;

            spiderAnimator.AddBehavior(attachment);

            return(chainLink);
        }
Пример #5
0
        public void applyGravity(object sender, EventArgs e)
        {
            animator = new UIDynamicAnimator (chart.PlotView);

            TKChartVisualPoint[] points = chart.VisualPointsForSeries (chart.Series [0]);

            for (int i=0; i<points.Length; i++) {
                TKChartVisualPoint point = points [i];
                CGPoint center = originalValues [i];
                if (point.Animator != null) {
                    point.Animator.RemoveAllBehaviors();
                    point.Animator = null;
                }
                point.Center = center;
            }

            UICollisionBehavior collision = new UICollisionBehavior (points);
            collision.TranslatesReferenceBoundsIntoBoundary = true;

            UIGravityBehavior gravity = new UIGravityBehavior (points);
            gravity.GravityDirection = new CGVector (0.0f, 2.0f);

            UIDynamicItemBehavior dynamic = new UIDynamicItemBehavior (points);
            dynamic.Elasticity = 0.5f;

            animator.AddBehavior(dynamic);
            animator.AddBehavior(gravity);
            animator.AddBehavior(collision);
        }
Пример #6
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            using (image = UIImage.FromFile("monkeys.jpg")) {
                imageView = new UIImageView(new CGRect(new CGPoint(View.Center.X - image.Size.Width / 2, 0), image.Size))
                {
                    Image = image
                };

                View.AddSubview(imageView);

                // 1. create the dynamic animator
                dynAnimator = new UIDynamicAnimator(this.View);

                // 2. create behavior(s)
                var dynItems  = new IUIDynamicItem[] { imageView };
                var gravity   = new UIGravityBehavior(dynItems);
                var collision = new UICollisionBehavior(dynItems)
                {
                    TranslatesReferenceBoundsIntoBoundary = true
                };
                var dynBehavior = new UIDynamicItemBehavior(dynItems)
                {
                    Elasticity = 0.7f
                };

                // 3. add behaviors(s) to the dynamic animator
                dynAnimator.AddBehavior(gravity);
                dynAnimator.AddBehavior(collision);
                dynAnimator.AddBehavior(dynBehavior);
            }
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            /*
             * We want to show collisions between views and boundaries with different
             * elasticities, we thus associate the two views to gravity and collision
             * behaviors. We will only change the restitution parameter for one of
             * these views.
             */
            var gravityBehavior = new UIGravityBehavior(square1, square2);

            var collisionBehavior = new UICollisionBehavior(square1, square2)
            {
                TranslatesReferenceBoundsIntoBoundary = true
            };

            collisionBehavior.BeganBoundaryContact += (sender, e) => {
                ((UIView)e.DynamicItem).BackgroundColor = UIColor.LightGray;
            };
            collisionBehavior.EndedBoundaryContact += (sender, e) => {
                ((UIView)e.DynamicItem).BackgroundColor = UIColor.Gray;
            };

            var propertiesBehavior = new UIDynamicItemBehavior(square2)
            {
                Elasticity = 0.5f
            };

            Animator = new UIDynamicAnimator(View);
            Animator.AddBehaviors(gravityBehavior, collisionBehavior, propertiesBehavior);
        }
Пример #8
0
        public StickyCornersBehavior(IUIDynamicItem stickyCornerItem, float stickyCornerInset)
        {
            item        = stickyCornerItem;
            cornerInset = stickyCornerInset;

            fieldBehaviors = new List <UIFieldBehavior> ();

            collisionBehavior = new UICollisionBehavior(item)
            {
                TranslatesReferenceBoundsIntoBoundary = true
            };

            itemBehavior = new UIDynamicItemBehavior(item)
            {
                Density        = 0.01f,
                Resistance     = 10f,
                Friction       = 0f,
                AllowsRotation = false
            };

            AddChildBehavior(collisionBehavior);
            AddChildBehavior(itemBehavior);

            for (int i = 0; i <= 3; i++)
            {
                var fieldBehavior = UIFieldBehavior.CreateSpringField();
                fieldBehavior.AddItem(item);
                fieldBehaviors.Add(fieldBehavior);
                AddChildBehavior(fieldBehavior);
            }
        }
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();
			
			using (image = UIImage.FromFile ("monkeys.jpg")) {

				imageView = new UIImageView (new CGRect (new CGPoint (View.Center.X - image.Size.Width / 2, 0), image.Size)) {
					Image =  image
				};

				View.AddSubview (imageView);

				// 1. create the dynamic animator
				dynAnimator = new UIDynamicAnimator (this.View);

				// 2. create behavior(s)
				var dynItems = new IUIDynamicItem[] { imageView };
				var gravity = new UIGravityBehavior (dynItems);
				var collision = new UICollisionBehavior (dynItems) {
					TranslatesReferenceBoundsIntoBoundary = true
				};
				var dynBehavior = new UIDynamicItemBehavior (dynItems) {
					Elasticity = 0.7f
				};

				// 3. add behaviors(s) to the dynamic animator
				dynAnimator.AddBehavior (gravity);
				dynAnimator.AddBehavior (collision);
				dynAnimator.AddBehavior (dynBehavior);
			}
		}
Пример #10
0
        public void applyGravity()
        {
            if (firstTime)
            {
                firstTime = false;

                TKChartVisualPoint[] points1 = chart.VisualPointsForSeries(chart.Series [0]);
                originalValues = new List <CGPoint> ();
                foreach (TKChartVisualPoint p in points1)
                {
                    originalValues.Add(p.CGPoint);
                }
                TKChartVisualPoint point1 = points1 [4];
                originalLocation = point1.Center;
            }
            // >> chart-anim-gravity-cs
            animator = new UIDynamicAnimator(chart.PlotView);
            TKChartVisualPoint[] points = chart.VisualPointsForSeries(chart.Series [0]);
            TKChartVisualPoint   point  = points [4];

            for (int i = 0; i < originalValues.Count; i++)
            {
                TKChartVisualPoint pt = points [i];
                if (pt.Animator != null)
                {
                    pt.Animator.RemoveAllBehaviors();
                    pt.Animator = null;
                }
                pt.Center = ((CGPoint)originalValues[i]);
            }

            point.Center = new CGPoint(originalLocation.X, 0);

            UICollisionBehavior collision = new UICollisionBehavior(points);

            collision.TranslatesReferenceBoundsIntoBoundary = true;

            UIGravityBehavior gravity = new UIGravityBehavior(points);

            gravity.GravityDirection = new CGVector(0.0f, 2.0f);

            UIDynamicItemBehavior dynamic = new UIDynamicItemBehavior(points);

            dynamic.Elasticity = 0.5f;

            animator.AddBehavior(dynamic);
            animator.AddBehavior(gravity);
            animator.AddBehavior(collision);
            // << chart-anim-gravity-cs
        }
Пример #11
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            //agrega el UIVIew para aplicar el comportamiento de la animacion
            var gravityBehavior = new UIGravityBehavior(square);

            var gravityBehavior2 = new UIGravityBehavior(Balon);

            //limite sobre la collision
            var collisionBehavior = new UICollisionBehavior(square)
            {
                TranslatesReferenceBoundsIntoBoundary = true
            };


            var collisionBehavior2 = new UICollisionBehavior(Balon)
            {
                TranslatesReferenceBoundsIntoBoundary = true
            };


            //cuando tenga contacto sos los metodo de comenzar y finalizar
            collisionBehavior.BeganBoundaryContact += (sender, e) => {
                ((UIView)e.DynamicItem).BackgroundColor = UIColor.LightGray;
            };
            collisionBehavior.EndedBoundaryContact += (sender, e) => {
                ((UIView)e.DynamicItem).BackgroundColor = UIColor.Gray;
            };

            // Another style of creating the UIDynamicAnimator
            Animator = new UIDynamicAnimator(View)
            {
                gravityBehavior, collisionBehavior
            };

            Animator = new UIDynamicAnimator(View)
            {
                gravityBehavior2, collisionBehavior2
            };

            UIDynamicItemBehavior ball = new UIDynamicItemBehavior(Balon);

            ball.Elasticity = 0.75f;
            Animator.Add(ball);
        }
Пример #12
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            var Gravedad = new UIGravityBehavior(Imagen1, Imagen2);//Se agrega gravedad a uno de los objectos.
            var Colision = new UICollisionBehavior(Imagen1, Imagen2)
            {
                TranslatesReferenceBoundsIntoBoundary = true
            };

            var Rebote = new UIDynamicItemBehavior(Imagen2)
            {
                Elasticity = 1f
            };

            Animador = new UIDynamicAnimator(View);
            Animador.AddBehaviors(Gravedad, Colision, Rebote);
        }
Пример #13
0
		public void applyGravity()
		{
			if (firstTime) {
				firstTime = false;

				TKChartVisualPoint[] points1 = chart.VisualPointsForSeries (chart.Series [0]);
				originalValues = new List<CGPoint> ();
				foreach (TKChartVisualPoint p in points1) {
					originalValues.Add (p.CGPoint);
				}
				TKChartVisualPoint point1 = points1 [4];
				originalLocation = point1.Center;
			}

			animator = new UIDynamicAnimator (chart.PlotView);
			TKChartVisualPoint[] points = chart.VisualPointsForSeries (chart.Series [0]);
			TKChartVisualPoint point = points [4];

			for (int i=0; i<originalValues.Count; i++) {
				TKChartVisualPoint pt = points [i];
				if (pt.Animator != null) {
					pt.Animator.RemoveAllBehaviors();
					pt.Animator = null;
				}
				pt.Center = ((CGPoint)originalValues[i]);
			}

			point.Center = new CGPoint (originalLocation.X, 0);

			UICollisionBehavior collision = new UICollisionBehavior (points);
			collision.TranslatesReferenceBoundsIntoBoundary = true;

			UIGravityBehavior gravity = new UIGravityBehavior (points);
			gravity.GravityDirection = new CGVector (0.0f, 2.0f);

			UIDynamicItemBehavior dynamic = new UIDynamicItemBehavior (points);
			dynamic.Elasticity = 0.5f;

			animator.AddBehavior(dynamic);
			animator.AddBehavior(gravity);
			animator.AddBehavior(collision);
		}
Пример #14
0
        private void preparePhysics()
        {
            spiderView.Center            = new CGPoint(Center.X, -height - spiderImage.Size.Height);
            spiderView.Layer.AnchorPoint = new CGPoint(0.5, 0);

            spiderAnimator = new UIDynamicAnimator(this);

            var spider = new UIDynamicItemBehavior(spiderView);

            spider.Action     = () => SetNeedsDisplay();
            spider.Resistance = spiderResistance;
            spiderAnimator.AddBehavior(spider);

            links = createRope();

            gravity = new UIGravityBehavior(links);
            spiderAnimator.AddBehavior(gravity);

            motionManager?.Dispose();
            motionManager = new CMMotionManager();
            motionManager.StartAccelerometerUpdates(NSOperationQueue.CurrentQueue, processAccelerometerData);
        }
Пример #15
0
        private void preparePhysics()
        {
            spiderRadius = Math.Sqrt(Math.Pow(spiderImage.Size.Width / 2, 2) + Math.Pow(spiderImage.Size.Height / 2, 2));
            double height = (UIScreen.MainScreen.ApplicationFrame.Size.Width / 2) - 1.5 * spiderRadius;

            spiderAnimator = new UIDynamicAnimator(this);

            var spider = new UIDynamicItemBehavior(spiderView);

            spider.Action         = () => SetNeedsDisplay();
            spider.Resistance     = spiderResistance;
            spider.AllowsRotation = true;
            spiderAnimator.AddBehavior(spider);

            links = createRope(height);

            gravity = new UIGravityBehavior(links);
            spiderAnimator.AddBehavior(gravity);

            motionManager?.Dispose();
            motionManager = new CMMotionManager();
            motionManager.StartAccelerometerUpdates(NSOperationQueue.CurrentQueue, processAccelerometerData);
        }
 // Dynamic Image Dragging Methods
 private void StartImageDragging(PointF panGestureLocationInView, UIOffset translationOffset)
 {
     ImageDragStartingPoint = panGestureLocationInView;
     ImageDragOffsetFromActualTranslation = translationOffset;
     PointF anchor = ImageDragStartingPoint;
     PointF imageCenter = ImageView.Center;
     UIOffset offset = new UIOffset (panGestureLocationInView.X - imageCenter.X, panGestureLocationInView.Y - imageCenter.Y);
     ImageDragOffsetFromImageCenter = offset;
     AttachmentBehavior = new UIAttachmentBehavior (ImageView, offset, anchor);
     Animator.AddBehavior (AttachmentBehavior);
     UIDynamicItemBehavior modifier = new UIDynamicItemBehavior(new IUIDynamicItem[] { ImageView });
     modifier.AngularResistance = AppropriateAngularResistanceForView (ImageView);
     Animator.AddBehavior (modifier);
 }
        protected void DynamicAnimatorDidPause(UIDynamicAnimator animator)
        {
            this.Animator.RemoveAllBehaviors();

            _collision = null;
            _topView   = null;
            _push      = null;
            _gravity   = null;
            _composite = null;
            _animator  = null;

            this.SlidingViewController.TopViewController.View.UserInteractionEnabled = true;

            UIViewController topController = this.SlidingViewController.GetViewControllerForKey(ECSlidingViewController.ECTransitionContextTopViewControllerKey);
            if ((_panningRight && _positiveLeftToRight) || (!_panningRight && !_positiveLeftToRight))
            {
                topController.View.Frame = this.SlidingViewController.GetFinalFrameForViewController(topController);
                this.SlidingViewController.FinishInteractiveTransition();
            }
            else if ((_panningRight && !_positiveLeftToRight) || (!_panningRight && _positiveLeftToRight))
            {
                topController.View.Frame = this.SlidingViewController.GetInitialFrameForViewController(topController);
                this.SlidingViewController.CancelInteractiveTransition();
            }

            this.SlidingViewController.CompleteTransition(true);
        }
Пример #18
0
        public override async void ViewDidLoad()
        {
            base.ViewDidLoad();
            var verifica = new LAContext();
            var autoriza = await verifica.EvaluatePolicyAsync
                               (LAPolicy.DeviceOwnerAuthenticationWithBiometrics,
                               "Autenticación FaceID");

            if (autoriza.Item1)
            {
                var voz = new AVSpeechUtterance("Está usted autorizado en la Aplicación, sea Bienvenido");
                voz.Voice = AVSpeechSynthesisVoice.FromLanguage("es-MX");
                habla.SpeakUtterance(voz);
                lblEstatus.Text = "Autorizado";
            }
            else
            {
                lblEstatus.Text = "No Autorizado";

                var Gravedad = new UIGravityBehavior(Imagen, btnConfirmar, btnGuardar, lblEstatus);
                var Colision = new UICollisionBehavior(Imagen, btnConfirmar, btnGuardar, lblEstatus)
                {
                    TranslatesReferenceBoundsIntoBoundary = false
                };
                var Rebote = new UIDynamicItemBehavior(btnConfirmar)
                {
                    Elasticity = 1f
                };
                Animador = new UIDynamicAnimator(View);
                Animador.AddBehaviors(Gravedad, Colision, Rebote);
                System.Threading.Thread.CurrentThread.Abort();
            }
            var Firma = new SignaturePadView(View.Frame)
            {
                StrokeWidth     = 3f,
                StrokeColor     = UIColor.Black,
                BackgroundColor = UIColor.White,
            };

            Firma.Frame                     = new CGRect(10, 500, 350, 200);
            Firma.Layer.BorderWidth         = 1f;
            Firma.SignaturePrompt.TextColor = UIColor.Blue;
            Firma.Caption.TextColor         = UIColor.White;
            Firma.Caption.Text              = "Firmar en esta zona";
            View.AddSubview(Firma);

            btnConfirmar.TouchUpInside += delegate
            {
                Imagen.Image = Firma.GetImage();
            };
            btnGuardar.TouchUpInside += delegate
            {
                var imagenfirma = Firma.GetImage();
                try
                {
                    imagenfirma.SaveToPhotosAlbum(delegate
                                                  (UIImage imagen, NSError error)
                                                  { });
                    lblEstatus.Text = "Guardado en biblioteca";
                }
                catch (Exception ex)
                {
                    lblEstatus.Text = ex.Message;
                }
            };
        }