Пример #1
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            NavigationController.NavigationBar.Translucent = false;

            _closeButton = new UIBarButtonItem(Translation.general_close, UIBarButtonItemStyle.Plain, null);
            NavigationItem.LeftBarButtonItem = _closeButton;

            RecordButton.SetImage(UIImage.FromBundle("ic_record"), UIControlState.Normal);
            RecordButton.TintColor = UIColor.Red;

            BGView.Layer.BorderColor = UIColor.White.CGColor;
            BGView.Layer.BorderWidth = _borderWidth;

            DurationLabel.Alpha = 0;

            var set = this.CreateBindingSet <RecordDisplayView, RecordDisplayViewModel>();

            set.Bind(this).For(v => v.IsRecording).To(vm => vm.Recording);
            set.Bind(_closeButton).To(vm => vm.CloseCommand);
            set.Bind(RecordButton).To(vm => vm.RecordCommand);
            set.Bind(HelpLabel).To(vm => vm.HelpMessage);
            set.Bind(DurationLabel).To(vm => vm.Time);
            set.Apply();
        }
Пример #2
0
        private void UpdateRecordUI()
        {
            if (DurationLabel != null)
            {
                if (IsRecording)
                {
                    DurationLabel.FadeIn();
                }
                else
                {
                    DurationLabel.FadeOut(0.5);
                }
            }

            if (BGView != null)
            {
                CABasicAnimation borderCol = CABasicAnimation.FromKeyPath("borderColor");
                borderCol.SetFrom((IsRecording) ? UIColor.White.CGColor : UIColor.Red.CGColor);
                borderCol.SetTo((IsRecording) ? UIColor.Red.CGColor : UIColor.White.CGColor);
                borderCol.FillMode       = CAFillMode.Forwards;
                borderCol.TimingFunction = CAMediaTimingFunction.FromName(CAMediaTimingFunction.EaseInEaseOut);
                borderCol.Duration       = 1;
                BGView.Layer.BorderColor = (IsRecording) ? UIColor.Red.CGColor : UIColor.White.CGColor;

                BGView.Layer.AddAnimation(borderCol, "color");
            }

            if (RecordButton != null)
            {
                RecordButton.FadeOut(0.25, 0, () =>
                {
                    if (RecordButton != null)
                    {
                        string fileName = (IsRecording) ? "ic_stop" : "ic_record";
                        RecordButton.SetImage(UIImage.FromBundle(fileName), UIControlState.Normal);
                        RecordButton.TintColor = (IsRecording) ? UIColor.Black : UIColor.Red;
                        RecordButton.FadeIn(0.25);
                    }
                });
            }
        }