protected void SetOverlayConstrants(bool isCurrentScope)
        {
            OverlayView.RemoveFromSuperview();

            UIView parentView;

            if (isCurrentScope)
            {
                ViewController.View.AddSubview(OverlayView);
                parentView = ViewController.View;
            }
            else
            {
                var window = UIApplication.SharedApplication.KeyWindow;
                window.AddSubview(OverlayView);
                parentView = window;
            }

            NSLayoutConstraint.DeactivateConstraints(_overlayConstraints.ToArray());
            _overlayConstraints.Clear();

            _overlayConstraints.Add(OverlayView.TopAnchor.ConstraintEqualTo(parentView.TopAnchor));
            _overlayConstraints.Add(OverlayView.LeftAnchor.ConstraintEqualTo(parentView.LeftAnchor));
            _overlayConstraints.Add(OverlayView.RightAnchor.ConstraintEqualTo(parentView.RightAnchor));
            _overlayConstraints.Add(OverlayView.BottomAnchor.ConstraintEqualTo(parentView.BottomAnchor));

            NSLayoutConstraint.ActivateConstraints(_overlayConstraints.ToArray());
        }
Exemple #2
0
        void ChangeLayout(UIGestureRecognizer tapGesture)
        {
            if (tapGesture.State != UIGestureRecognizerState.Ended)
            {
                return;
            }

            NSLayoutConstraint regularConstraint = regularConstraints.First();
            NSLayoutConstraint compactConstraint = compactConstraints.First();

            if (regularConstraint.Active)
            {
                UIView.Animate(1.0, () => {
                    NSLayoutConstraint.DeactivateConstraints(regularConstraints);
                    NSLayoutConstraint.ActivateConstraints(compactConstraints);
                    View.LayoutIfNeeded();
                });
            }
            else if (compactConstraint.Active)
            {
                UIView.Animate(1.0, () => {
                    NSLayoutConstraint.DeactivateConstraints(compactConstraints);
                    NSLayoutConstraint.ActivateConstraints(regularConstraints);
                    View.LayoutIfNeeded();
                });
            }
        }
Exemple #3
0
        void AnimateToCompact()
        {
            UIView.AddKeyframeWithRelativeStartTime(0.0, 1.0, () => {
                NSLayoutConstraint.DeactivateConstraints(new [] { marsLeadingToTrailing, jupiterLeadingToTrailing, saturnLeadingToTrailing });
                NSLayoutConstraint.ActivateConstraints(new [] { marsCenter, jupiterCenter, saturnCenter });
                View.LayoutIfNeeded();
            });

            UIView.AddKeyframeWithRelativeStartTime(0.1, 0.9, () => {
                NSLayoutConstraint.DeactivateConstraints(new [] { earthLeadingToTrailing, uranusLeadingToTrailing });
                NSLayoutConstraint.ActivateConstraints(new [] { earthCenter, uranusCenter });
                View.LayoutIfNeeded();
            });

            UIView.AddKeyframeWithRelativeStartTime(0.3, 0.7, () => {
                NSLayoutConstraint.DeactivateConstraints(new [] { venusLeadingToTrailing, neptuneLeadingToTrailing });
                NSLayoutConstraint.ActivateConstraints(new [] { venusCenter, neptuneCenter });
                View.LayoutIfNeeded();
            });

            UIView.AddKeyframeWithRelativeStartTime(0.5, 0.5, () => {
                NSLayoutConstraint.DeactivateConstraints(new [] { mercuryLeadingToTrailing });
                NSLayoutConstraint.ActivateConstraints(new [] { mercuryCenter });
                View.LayoutIfNeeded();
            });
        }
Exemple #4
0
        /// <summary>
        /// Updates layout constraints and other properties based on the current UI size class.
        /// </summary>
        private void UpdateInterfaceForCurrentTraits()
        {
            // First deactivate existing constraints
            NSLayoutConstraint.DeactivateConstraints(_regularWidthConstraints);
            NSLayoutConstraint.DeactivateConstraints(_compactWidthConstraints);

            if (TraitCollection.HorizontalSizeClass == UIUserInterfaceSizeClass.Regular)
            {
                NSLayoutConstraint.ActivateConstraints(_regularWidthConstraints);
                if (_handlebarSeparator != null)
                {
                    _handlebarSeparator.BackgroundColor = ApplicationTheme.SeparatorColor;
                }
            }
            else
            {
                NSLayoutConstraint.ActivateConstraints(_compactWidthConstraints);
                if (_handlebarSeparator != null)
                {
                    _handlebarSeparator.BackgroundColor = UIColor.Clear;
                }
            }

            SetState(_currentState);
        }
Exemple #5
0
        public void UpdateContent(AppTask data)
        {
            taskData             = data;
            TaskDescription.Text = data.Description;
            info = JsonConvert.DeserializeObject <AdditionalInfoData>(data.JsonData);

            if (!string.IsNullOrWhiteSpace(info.ImageUrl))
            {
                string imgUrl = Common.ServerUtils.GetUploadUrl(info.ImageUrl);
                ImageService.Instance.LoadUrl(imgUrl).Into(InfoImage);
                NSLayoutConstraint.DeactivateConstraints(new NSLayoutConstraint[] { hideImageConstraint });
                NSLayoutConstraint.ActivateConstraints(new NSLayoutConstraint[] { showImageConstraint });
            }
            else
            {
                NSLayoutConstraint.DeactivateConstraints(new NSLayoutConstraint[] { showImageConstraint });
                NSLayoutConstraint.ActivateConstraints(new NSLayoutConstraint[] { hideImageConstraint });
            }

            if (!string.IsNullOrWhiteSpace(info.ExternalUrl))
            {
                InfoButton.Alpha          = 1;
                InfoButton.TouchUpInside += (a, e) =>
                {
                    UIApplication.SharedApplication.OpenUrl(new NSUrl(info.ExternalUrl));
                };
            }
            else
            {
                InfoButton.Alpha = 0;
            }
        }
 private void AnimatePlayerViewOrder()
 {
     UIView.Animate(1.0, () => {
         NSLayoutConstraint.DeactivateConstraints(PlayerViewRegularConstraints);
         NSLayoutConstraint.ActivateConstraints(PlayerViewFinalConstraints);
         View.LayoutIfNeeded();
     });
 }
        public void UpdateContent(AppTask data, Action <AppTask> OnButtonClicked)
        {
            taskData  = data;
            startTask = OnButtonClicked;

            TaskType.Text        = data.TaskType.DisplayName;
            TaskDescription.Text = data.Description;

            if (string.IsNullOrWhiteSpace(data.TaskType.IconUrl))
            {
                ImageService.Instance.LoadCompiledResource("AppLogo").Into(TaskTypeIcon);
            }
            else
            {
                ImageService.Instance.LoadUrl(data.TaskType.IconUrl)
                //.LoadingPlaceholder("AppLogo", ImageSource.CompiledResource)
                .Into(TaskTypeIcon);
            }

            // Show tease label if this task has children and hasn't yet been completed
            if (data.ChildTasks != null && data.ChildTasks.Count() > 0 && !data.IsCompleted)
            {
                NSLayoutConstraint.DeactivateConstraints(new NSLayoutConstraint[] { hideChildTeaseConstraint });
                NSLayoutConstraint.ActivateConstraints(new NSLayoutConstraint[] { showChildTeaseConstraint });
                ChildTease.Text = string.Format(
                    "Complete this to view {0} locked task{1}!",
                    data.ChildTasks.Count(),
                    data.ChildTasks.Count() > 1 ? "s" : "");
            }
            else
            {
                NSLayoutConstraint.DeactivateConstraints(new NSLayoutConstraint[] { showChildTeaseConstraint });
                NSLayoutConstraint.ActivateConstraints(new NSLayoutConstraint[] { hideChildTeaseConstraint });
            }

            // Make child tasks visually distinct
            Layer.BackgroundColor = (data.IsChild) ? UIColor.FromRGBA(140, 192, 77, 50).CGColor : UIColor.White.CGColor;

            if (data.CompletionData != null && !string.IsNullOrWhiteSpace(data.CompletionData.JsonData))
            {
                if (data.TaskType.IdName == "ENTER_TEXT")
                {
                    TaskDescription.Text += string.Format("\n\nYour response:\n\'{0}\'", data.CompletionData.JsonData);
                    StartButton.SetTitle("Edit", UIControlState.Normal);
                }
                else if (data.TaskType.IdName == "MULT_CHOICE")
                {
                    string[] choices = JsonConvert.DeserializeObject <string[]>(data.JsonData);
                    TaskDescription.Text += string.Format("\n\nYour response:\n\'{0}\'", choices[int.Parse(data.CompletionData.JsonData)]);
                }
                else if (data.TaskType.IdName == "MAP_MARK")
                {
                    Map_Location[] locs = JsonConvert.DeserializeObject <Map_Location[]>(data.CompletionData.JsonData);
                    TaskDescription.Text += string.Format("\n\nYou've marked {0} location{1}", locs.Length, (locs.Length > 1) ? "s" : "");
                    StartButton.SetTitle("Edit", UIControlState.Normal);
                }
            }
        }
        public override void TraitCollectionDidChange(UITraitCollection previousTraitCollection)
        {
            base.TraitCollectionDidChange(previousTraitCollection);

            // Reset constraints.
            NSLayoutConstraint.DeactivateConstraints(_portraitConstraints);
            NSLayoutConstraint.DeactivateConstraints(_landscapeConstraints);
            SetLayoutOrientation();
        }
        public override void TraitCollectionDidChange(UITraitCollection previousTraitCollection)
        {
            base.TraitCollectionDidChange(previousTraitCollection);

            // Deactivate old constraints.
            NSLayoutConstraint.DeactivateConstraints(_portraitConstraints);
            NSLayoutConstraint.DeactivateConstraints(_landscapeConstraints);

            // Apply new constraints.
            ApplyConstraints();
        }
        public override void TraitCollectionDidChange(UITraitCollection previousTraitCollection)
        {
            base.TraitCollectionDidChange(previousTraitCollection);

            if (TraitCollection.HorizontalSizeClass == UIUserInterfaceSizeClass.Regular)
            {
                if (_compatWidthConstraints != null)
                {
                    NSLayoutConstraint.DeactivateConstraints(_compatWidthConstraints.ToArray());
                }

                if (_regularWidthConstraints != null)
                {
                    NSLayoutConstraint.ActivateConstraints(_regularWidthConstraints.ToArray());
                }
            }
            else if (TraitCollection.HorizontalSizeClass == UIUserInterfaceSizeClass.Compact)
            {
                if (_regularWidthConstraints != null)
                {
                    NSLayoutConstraint.DeactivateConstraints(_regularWidthConstraints.ToArray());
                }

                if (_compatWidthConstraints != null)
                {
                    NSLayoutConstraint.ActivateConstraints(_compatWidthConstraints.ToArray());
                }
            }

            if (TraitCollection.VerticalSizeClass == UIUserInterfaceSizeClass.Regular)
            {
                if (_compatHeightConstraints != null)
                {
                    NSLayoutConstraint.DeactivateConstraints(_compatHeightConstraints.ToArray());
                }

                if (_regularHeightConstraints != null)
                {
                    NSLayoutConstraint.ActivateConstraints(_regularHeightConstraints.ToArray());
                }
            }
            else if (TraitCollection.VerticalSizeClass == UIUserInterfaceSizeClass.Compact)
            {
                if (_regularHeightConstraints != null)
                {
                    NSLayoutConstraint.DeactivateConstraints(_regularHeightConstraints.ToArray());
                }

                if (_compatHeightConstraints != null)
                {
                    NSLayoutConstraint.ActivateConstraints(_compatHeightConstraints.ToArray());
                }
            }
        }
Exemple #11
0
        private void ApplyConstraints()
        {
            NSLayoutConstraint.DeactivateConstraints(_horizontalConstraints);
            NSLayoutConstraint.DeactivateConstraints(_verticalConstraints);

            if (View.TraitCollection.VerticalSizeClass == UIUserInterfaceSizeClass.Compact)
            {
                NSLayoutConstraint.ActivateConstraints(_horizontalConstraints);
            }
            else
            {
                NSLayoutConstraint.ActivateConstraints(_verticalConstraints);
            }
        }
Exemple #12
0
        public virtual void Dispose()
        {
            NSLayoutConstraint.DeactivateConstraints(_overlayConstraints.ToArray());
            _overlayConstraints.Clear();
            _overlayConstraints = null;

            OverlayView.RemoveFromSuperview();
            OverlayView.Dispose();
            OverlayView = null;

            Progress       = null;
            IsCurrentScope = null;

            OnceInitializeAction = null;
        }
        public static void ChangeState(this UIView parentView,
                                       NSLayoutConstraint[] before,
                                       NSLayoutConstraint[] after,
                                       double duration = 0)
        {
            parentView.LayoutIfNeeded();

            NSLayoutConstraint.DeactivateConstraints(before);
            NSLayoutConstraint.ActivateConstraints(after);

            if (duration > 0)
            {
                UIView.Animate(duration, parentView.LayoutIfNeeded);
            }
        }
Exemple #14
0
        public override void TraitCollectionDidChange(UITraitCollection previousTraitCollection)
        {
            base.TraitCollectionDidChange(previousTraitCollection);

            // Reset constraints.
            NSLayoutConstraint.DeactivateConstraints(_portraitConstraints);
            NSLayoutConstraint.DeactivateConstraints(_landscapeConstraints);

            if (View.TraitCollection.VerticalSizeClass == UIUserInterfaceSizeClass.Compact)
            {
                NSLayoutConstraint.ActivateConstraints(_landscapeConstraints);
            }
            else
            {
                NSLayoutConstraint.ActivateConstraints(_portraitConstraints);
            }
        }
Exemple #15
0
        public void KillersName(AnimalModel animal)
        {
            var name = businessLogic.NameofKiller(animal);

            if (name != "")
            {
                whoKillMe.Text  = name;
                whoKillMe.Alpha = 1;
            }
            else
            {
                whoKillMe.Text  = "";
                whoKillMe.Alpha = 0;
                NSLayoutConstraint.DeactivateConstraints(whoKillMe.Constraints);
                viewID.Constraints.FirstOrDefault(a => a.FirstItem == NameAnimalID && a.SecondItem == whoKillMe).Active = false;
                NameAnimalID.TopAnchor.ConstraintEqualTo(labelAnimalName.BottomAnchor, 10).Active = true;
            }
        }
Exemple #16
0
        public void FirstLocalVideoFrameWithSize(AgoraRtcEngineKit engine, CoreGraphics.CGSize size, nint elapsed)
        {
            var    fixedSize = size.FixedSize(ContainerView.Bounds.Size);
            nfloat ratio;

            if (fixedSize.Width > 0 && fixedSize.Height > 0)
            {
                ratio = fixedSize.Width / fixedSize.Height;
            }
            else
            {
                ratio = ContainerView.Bounds.Width / ContainerView.Bounds.Height;
            }
            var viewWidth = NSLayoutConstraint.Create(LocalView, NSLayoutAttribute.Width, NSLayoutRelation.Equal, ContainerView, NSLayoutAttribute.Width, 0.249999f, 0f);
            var viewRatio = NSLayoutConstraint.Create(LocalView, NSLayoutAttribute.Width, NSLayoutRelation.Equal, LocalView, NSLayoutAttribute.Height, ratio, 0f);

            NSLayoutConstraint.DeactivateConstraints(new NSLayoutConstraint[] { LocalVideoWidth, LocalVideoHeight });
            NSLayoutConstraint.ActivateConstraints(new NSLayoutConstraint[] { viewWidth, viewRatio });
        }
Exemple #17
0
 public override void TraitCollectionDidChange(UITraitCollection previousTraitCollection)
 {
     if (TraitCollection.Contains(UITraitCollection.FromHorizontalSizeClass(UIUserInterfaceSizeClass.Compact)))
     {
         if (regularConstraints [0].Active)
         {
             NSLayoutConstraint.DeactivateConstraints(regularConstraints);
             NSLayoutConstraint.ActivateConstraints(compactConstraints);
         }
     }
     else
     {
         if (compactConstraints [0].Active)
         {
             NSLayoutConstraint.DeactivateConstraints(compactConstraints);
             NSLayoutConstraint.ActivateConstraints(regularConstraints);
         }
     }
 }
Exemple #18
0
        public static NSLayoutConstraint UpdateMultiplier(this NSLayoutConstraint constraint, nfloat multiplier)
        {
            NSObject firstItem  = constraint.FirstItem;
            NSObject secondItem = constraint.SecondItem;

            NSLayoutAttribute firstAttribute  = constraint.FirstAttribute;
            NSLayoutAttribute secondAttribute = constraint.SecondAttribute;

            NSLayoutConstraint newConstraint = NSLayoutConstraint.Create(firstItem, firstAttribute, constraint.Relation, secondItem, secondAttribute, multiplier, constraint.Constant);

            newConstraint.Priority         = constraint.Priority;
            newConstraint.ShouldBeArchived = constraint.ShouldBeArchived;
            newConstraint.SetIdentifier(constraint.GetIdentifier());
            newConstraint.Active = true;

            NSLayoutConstraint.DeactivateConstraints(new NSLayoutConstraint[] { constraint });
            NSLayoutConstraint.DeactivateConstraints(new NSLayoutConstraint[] { newConstraint });

            return(newConstraint);
        }
Exemple #19
0
        public void UpdateContent(AppTask data, Action <AppTask> OnButtonClicked, Action <AppTask, string, int> OnResultClicked)
        {
            taskData  = data;
            startTask = OnButtonClicked;

            TaskType.Text        = data.TaskType.DisplayName;
            TaskDescription.Text = data.Description;

            if (string.IsNullOrWhiteSpace(data.TaskType.IconUrl))
            {
                ImageService.Instance.LoadCompiledResource("AppLogo").Into(TaskTypeIcon);
            }
            else
            {
                ImageService.Instance.LoadUrl(data.TaskType.IconUrl)
                //.LoadingPlaceholder("AppLogo", ImageSource.CompiledResource)
                .Into(TaskTypeIcon);
            }


            // Show tease label if this task has children and hasn't yet been completed
            if (data.ChildTasks != null && data.ChildTasks.Count() > 0 && !data.IsCompleted)
            {
                NSLayoutConstraint.DeactivateConstraints(new NSLayoutConstraint[] { hideChildTeaseConstraint });
                NSLayoutConstraint.ActivateConstraints(new NSLayoutConstraint[] { showChildTeaseConstraint });
                ChildTease.Text = string.Format(
                    "Complete this to view {0} locked task{1}!",
                    data.ChildTasks.Count(),
                    data.ChildTasks.Count() > 1 ? "s" : "");
            }
            else
            {
                NSLayoutConstraint.DeactivateConstraints(new NSLayoutConstraint[] { showChildTeaseConstraint });
                NSLayoutConstraint.ActivateConstraints(new NSLayoutConstraint[] { hideChildTeaseConstraint });
            }

            // Make child tasks visually distinct
            Layer.BackgroundColor = (data.IsChild) ? UIColor.FromRGBA(140, 192, 77, 50).CGColor : UIColor.White.CGColor;


            onResultClicked = OnResultClicked;

            // default to not showing result collection
            NSLayoutConstraint.DeactivateConstraints(new NSLayoutConstraint[] { showCollectionConstraint });
            NSLayoutConstraint.ActivateConstraints(new NSLayoutConstraint[] { hideCollectionConstraint });
            StartButton.SetTitle("Start", UIControlState.Normal);
            files = new List <string>();

            if (data.CompletionData != null && !string.IsNullOrWhiteSpace(data.CompletionData.JsonData))
            {
                files = JsonConvert.DeserializeObject <List <string> >(data.CompletionData.JsonData ?? "") ?? new List <string>();

                if (files.Count > 0)
                {
                    NSLayoutConstraint.DeactivateConstraints(new NSLayoutConstraint[] { hideCollectionConstraint });
                    NSLayoutConstraint.ActivateConstraints(new NSLayoutConstraint[] { showCollectionConstraint });
                    switch (data.TaskType.IdName)
                    {
                    case "MATCH_PHOTO":
                    case "TAKE_PHOTO":
                        StartButton.SetTitle("Take another", UIControlState.Normal);
                        break;

                    case "TAKE_VIDEO":
                    case "REC_AUDIO":
                        StartButton.SetTitle("Record another", UIControlState.Normal);
                        break;
                    }
                }

                ResultCollectionView.AllowsSelection = true;
            }

            ResultCollectionView.Source   = new TaskResultViewSource(files);
            ResultCollectionView.Delegate = new ClickableDelegate(ResultClicked);
            ResultCollectionView.UpdateConstraints();
            ResultCollectionView.ReloadData();
            ResultCollectionView.CollectionViewLayout.InvalidateLayout();
        }