예제 #1
0
        private void DecorateFollowButton()
        {
            if (!BasePresenter.User.IsAuthenticated || _currentUser.Author == BasePresenter.User.Login)
            {
                followButton.Hidden = true;
                return;
            }

            if (_currentUser.FollowedChanging)
            {
                followButton.Selected          = false;
                followButton.Enabled           = false;
                followButton.Layer.BorderWidth = 0;
                Constants.CreateGradient(followButton, _cornerRadius);
                progressBar.StartAnimating();
            }
            else
            {
                followButton.Enabled  = true;
                followButton.Selected = _currentUser.HasFollowed;
                progressBar.StopAnimating();
                if (_currentUser.HasFollowed)
                {
                    Constants.RemoveGradient(followButton);
                    followButton.Layer.BorderWidth = 1;
                }
                else
                {
                    followButton.Layer.BorderWidth = 0;
                    Constants.CreateGradient(followButton, _cornerRadius);
                }
            }
        }
 public override void ViewDidLayoutSubviews()
 {
     base.ViewDidLayoutSubviews();
     Constants.CreateGradient(steemLogin, 25);
 }
 public override void ViewDidLayoutSubviews()
 {
     base.ViewDidLayoutSubviews();
     ResizeView();
     Constants.CreateGradient(addAccountButton, 25);
 }
        private void DeleteAlert(Post post)
        {
            CustomAlertView _deleteAlert = null;

            if (_deleteAlert == null)
            {
                var titleText       = AppSettings.LocalizationManager.GetText(LocalizationKeys.DeleteAlertTitle);
                var messageText     = AppSettings.LocalizationManager.GetText(LocalizationKeys.DeleteAlertMessage);
                var leftButtonText  = AppSettings.LocalizationManager.GetText(LocalizationKeys.Cancel);
                var rightButtonText = AppSettings.LocalizationManager.GetText(LocalizationKeys.Delete);

                var commonMargin = 20;
                var dialogWidth  = UIScreen.MainScreen.Bounds.Width - 10 * 2;

                dialog = new UIView();
                dialog.ClipsToBounds      = true;
                dialog.Layer.CornerRadius = 15;
                dialog.BackgroundColor    = UIColor.White;

                dialog.AutoSetDimension(ALDimension.Width, dialogWidth);

                // Title

                var title = new UILabel();
                title.Lines                  = 3;
                title.LineBreakMode          = UILineBreakMode.WordWrap;
                title.UserInteractionEnabled = false;
                title.Font            = Constants.Regular20;
                title.TextAlignment   = UITextAlignment.Center;
                title.Text            = titleText;
                title.BackgroundColor = UIColor.Clear;
                dialog.AddSubview(title);

                title.AutoPinEdgeToSuperviewEdge(ALEdge.Top, 24);
                title.AutoPinEdgeToSuperviewEdge(ALEdge.Left, 10);
                title.AutoPinEdgeToSuperviewEdge(ALEdge.Right, 10);

                var size = title.SizeThatFits(new CGSize(dialogWidth - commonMargin * 2, 0));
                title.AutoSetDimension(ALDimension.Height, size.Height);

                // Alert message

                var message = new UILabel();
                message.Lines                  = 9;
                message.LineBreakMode          = UILineBreakMode.WordWrap;
                message.UserInteractionEnabled = false;
                message.Font            = Constants.Regular14;
                message.TextAlignment   = UITextAlignment.Center;
                message.Text            = messageText;
                message.BackgroundColor = UIColor.Clear;
                dialog.AddSubview(message);

                message.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, title, 22);
                message.AutoPinEdgeToSuperviewEdge(ALEdge.Left, 10);
                message.AutoPinEdgeToSuperviewEdge(ALEdge.Right, 10);

                size = message.SizeThatFits(new CGSize(dialogWidth - commonMargin * 2, 0));
                message.AutoSetDimension(ALDimension.Height, size.Height);

                // Separator

                var separator = new UIView();
                separator.BackgroundColor = Constants.R245G245B245;
                dialog.AddSubview(separator);

                separator.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, message, 26);
                separator.AutoPinEdgeToSuperviewEdge(ALEdge.Left, commonMargin);
                separator.AutoPinEdgeToSuperviewEdge(ALEdge.Right, commonMargin);
                separator.AutoSetDimension(ALDimension.Height, 1);

                var leftButton = CreateButton(leftButtonText, UIColor.Black);
                leftButton.Font = Constants.Semibold14;
                leftButton.Layer.BorderWidth = 1;
                leftButton.Layer.BorderColor = Constants.R245G245B245.CGColor;
                dialog.AddSubview(leftButton);

                leftButton.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, separator, 20);
                leftButton.AutoPinEdgeToSuperviewEdge(ALEdge.Left, commonMargin);
                leftButton.AutoPinEdgeToSuperviewEdge(ALEdge.Bottom, commonMargin);
                leftButton.AutoSetDimension(ALDimension.Width, dialogWidth / 2 - 27);
                leftButton.AutoSetDimension(ALDimension.Height, 50);

                rightButton      = CreateButton(rightButtonText, UIColor.White);
                rightButton.Font = Constants.Bold14;
                dialog.AddSubview(rightButton);

                rightButton.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, separator, 20);
                rightButton.AutoPinEdge(ALEdge.Left, ALEdge.Right, leftButton, 15);
                rightButton.AutoPinEdgeToSuperviewEdge(ALEdge.Right, commonMargin);
                rightButton.AutoPinEdgeToSuperviewEdge(ALEdge.Bottom, commonMargin);
                rightButton.AutoSetDimension(ALDimension.Width, dialogWidth / 2 - 27);
                rightButton.AutoSetDimension(ALDimension.Height, 50);
                rightButton.LayoutIfNeeded();

                NavigationController.View.EndEditing(true);

                _deleteAlert = new CustomAlertView(dialog, TabBarController);

                leftButton.TouchDown  += (sender, e) => { _deleteAlert.Close(); };
                rightButton.TouchDown += (sender, e) => { DeletePost(post, _deleteAlert.Close); };

                Constants.CreateGradient(rightButton, 25);
                Constants.CreateShadow(rightButton, Constants.R231G72B0, 0.5f, 25, 10, 12);
            }
            _deleteAlert.Show();
        }