Exemplo n.º 1
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            Title = "Chafu";

            var deleteAll = new UIBarButtonItem(UIBarButtonSystemItem.Trash)
            {
                TintColor = Configuration.BackgroundColor
            };


            NavigationController.NavigationBar.BarTintColor = Configuration.TintColor;
            NavigationController.NavigationBar.TintColor    = Configuration.BaseTintColor;
            NavigationItem.RightBarButtonItem = deleteAll;

            View.BackgroundColor = Configuration.BackgroundColor;

            Configuration.CropImage = true;

            var imageView = new UIImageView {
                BackgroundColor = UIColor.Black
            };
            var urlLabel     = new UILabel();
            var pickerButton = new UIButton(UIButtonType.System)
            {
                BackgroundColor = Configuration.TintColor,
                TintColor       = UIColor.Black
            };

            pickerButton.SetTitle("Pick Image", UIControlState.Normal);
            var albumButton = new UIButton(UIButtonType.System)
            {
                BackgroundColor = Configuration.TintColor,
                TintColor       = UIColor.Black
            };

            albumButton.SetTitle("Show Album", UIControlState.Normal);

            var chafu = new ChafuViewController {
                HasVideo = true
            };

            chafu.ImageSelected += (sender, image) =>
            {
                DispatchQueue.MainQueue.DispatchAsync(() =>
                {
                    imageView.Image = image;
                });

                CopyImageToLocalFolder(image);
            };
            chafu.VideoSelected += (sender, videoUrl) =>
            {
                urlLabel.Text = videoUrl.AbsoluteString;
                CopyVideoToLocalFolder(videoUrl);
            };
            chafu.Closed += (sender, e) =>
            {
                /* do stuff on closed */
            };

            pickerButton.TouchUpInside += (sender, args) =>
            {
                NavigationController.PresentModalViewController(chafu, true);
            };

            var albumViewController = new AlbumViewController
            {
                LazyDataSource = (view, size, mediaTypes) =>
                                 new LocalFilesDataSource(view, size, mediaTypes)
                {
                    ImagesPath = TempPath()
                },
                LazyDelegate     = (view, source) => new LocalFilesDelegate(view, (LocalFilesDataSource)source),
                ShowExtraButton  = true,
                ShowDoneButton   = false,
                ShowDeleteButton = true
            };

            albumViewController.Extra += (sender, args) =>
            {
                albumViewController.Dismiss();
                NavigationController.PresentModalViewController(chafu, true);
            };

            albumViewController.ImageSelected += (sender, image) =>
            {
                imageView.Image = image;
            };

            albumButton.TouchUpInside += (sender, args) =>
            {
                // Test InitialSelectedImage by selecting random path
                albumViewController.InitialSelectedImagePath = GetRandomPath();

                NavigationController.PresentModalViewController(albumViewController, true);
            };

            deleteAll.Clicked += (sender, args) =>
            {
                DeleteAllStuff();
                ((LocalFilesDataSource)albumViewController.AlbumDataSource)?.UpdateImageSource(TempPath());
            };

            Add(imageView);
            Add(urlLabel);
            Add(pickerButton);
            Add(albumButton);

            View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints();

            EdgesForExtendedLayout = UIRectEdge.None;

            View.AddConstraints(
                imageView.Width().EqualTo().HeightOf(imageView),
                imageView.AtTopOf(View, 5),
                imageView.AtLeftOf(View, 5),
                imageView.AtRightOf(View, 5),
                imageView.Above(urlLabel, 10),

                urlLabel.AtLeftOf(View, 5),
                urlLabel.AtRightOf(View, 5),
                urlLabel.Above(pickerButton, 10),

                pickerButton.AtLeftOf(View, 50),
                pickerButton.AtRightOf(View, 50),
                pickerButton.Height().EqualTo(50),
                pickerButton.Above(albumButton, 20),

                albumButton.AtLeftOf(View, 50),
                albumButton.AtRightOf(View, 50),
                albumButton.Height().EqualTo(50),
                albumButton.AtBottomOf(View, 10f)
                );
        }
Exemplo n.º 2
0
        private void SetupConstraints()
        {
            ContentView.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints();

            // Backpanel bottom constraint for usage in detailsview
            _backPanelBottomConstraint = _backPanel.AtBottomOf(ContentView, 0).WithIdentifier("BackPanelBottomToView").ToLayoutConstraints().First();

            // Main image constraints
            _mainImageHeightConstraint        = _mainImage.Height().EqualTo(0).WithIdentifier("MainImageHeightConstraint").ToLayoutConstraints().First();
            _mainImageBottomSpacingConstraint = _mainImage.Above(_leftSubImage, 3).WithIdentifier("MainImageAboveLeftSub").ToLayoutConstraints().First();

            // Sub image constraints
            _subImageSpacingConstraint = _leftSubImage.Above(_ruler, 8).WithIdentifier("LeftSubImageAboveRuler").ToLayoutConstraints().First();
            _subImageHeightConstraint  = _leftSubImage.Height().EqualTo(50).WithIdentifier("LeftSubHeight").ToLayoutConstraints().First();

            ContentView.AddConstraint(_backPanelBottomConstraint);
            ContentView.AddConstraint(_mainImageHeightConstraint);
            ContentView.AddConstraint(_mainImageBottomSpacingConstraint);
            ContentView.AddConstraint(_subImageSpacingConstraint);
            ContentView.AddConstraint(_subImageHeightConstraint);

            ContentView.AddConstraints(
                // TOP
                _backPanel.AtTopOf(ContentView, 5).WithIdentifier("BackPanelAtTopContentView"),
                _backPanel.AtRightOf(ContentView, 0).WithIdentifier("BackPanelAtRightOfContentView"),
                _backPanel.AtLeftOf(ContentView, 0).WithIdentifier("BackPanelAtLeftOfContentView"),

                _topBorder.AtTopOf(_backPanel).WithIdentifier("TopBorderAtTopOfBackpanel"),
                _topBorder.AtLeftOf(_backPanel).WithIdentifier("TopBorderAtLeftOfBackpanel"),
                _topBorder.AtRightOf(_backPanel).WithIdentifier("TopBorderAtRightOfBackpanel"),
                _topBorder.Height().EqualTo(1).WithIdentifier("TopBorderHeightEqualTo1"),

                _avatarImageView.Below(_topBorder, 14).WithIdentifier("AvatarImageBelowTopBorder"),
                _avatarImageView.AtLeftOf(_backPanel, 14).WithIdentifier("AvatarImageAtLeftOfBackPanel"),
                _avatarImageView.Height().EqualTo(45).WithIdentifier("AvatarImageHeightEquealTo"),
                _avatarImageView.Width().EqualTo(45).WithIdentifier("AvatarImageWidthEqualTo"),

                _displayName.Bottom().EqualTo().CenterYOf(_avatarImageView).Minus(1.5f).WithIdentifier("DisplayNameBottomEqualtoCenterYOfAvatarImage"),
                _displayName.ToRightOf(_avatarImageView, 10).WithIdentifier("DisplayNameToRightOfAvatarImage"),
                _displayName.ToLeftOf(_contextButton, 13),

                _timeAgo.Below(_displayName, 3).WithIdentifier("TimeAgoBelowDisplayName"),
                _timeAgo.WithSameLeft(_displayName).WithIdentifier("TimeAgoWithSameLeftDisplayName"),
                _timeAgo.WithSameRight(_displayName).WithIdentifier("TimeAgoWithSameRightDisplayName"),

                _postText.Below(_avatarImageView, 8).WithIdentifier("PostTextBelowAvatarImage"),
                _postText.AtLeftOf(_backPanel, 11).WithIdentifier("PostTextAtLeftOfBackPanel"),
                _postText.AtRightOf(_backPanel, 14).WithIdentifier("PostTextAtRightOfBackPanel"),

                _contextButton.AtRightOf(_backPanel, 10),
                _contextButton.AtTopOf(_backPanel, 5),
                _contextButton.Width().EqualTo(30),
                _contextButton.Height().EqualTo(30),

                // CONTENT
                _mainImage.AtLeftOf(_backPanel).WithIdentifier("MainImageAtLeftOfBackPanel"),
                _mainImage.AtRightOf(_backPanel).WithIdentifier("MainImageAtRightOfBackPanel"),

                // INFORMATION
                _dateBackPanel.AtTopOf(_mainImage, 20).WithIdentifier("DateBackPanelAtTopOfContentView"),
                _dateBackPanel.AtRightOf(_mainImage, 20).WithIdentifier("DateBackPanelAtRightOfContentView"),
                _dateBackPanel.Width().EqualTo(90).WithIdentifier("DateBackPanelWidth"),
                _dateBackPanel.Height().EqualTo(25).WithIdentifier("DateBackPanelHeight"),

                _date.WithSameCenterY(_dateBackPanel).WithIdentifier("DateAtRightOfContentView"),
                _date.WithSameCenterX(_dateBackPanel).WithIdentifier("DateAtBottomOfContentView"),

                _infoContainerPlaceholder.AtTopOf(_mainImage),
                _infoContainerPlaceholder.AtLeftOf(_mainImage),
                _infoContainerPlaceholder.AtRightOf(_mainImage),
                _infoContainerPlaceholder.AtBottomOf(_mainImage),

                _infoContainer.AtLeftOf(_infoContainerPlaceholder).WithIdentifier("InfoContainerAtLeftOfBackground"),
                _infoContainer.AtRightOf(_infoContainerPlaceholder).WithIdentifier("InforContainerAtRightOfBackground"),
                _infoContainer.WithSameCenterY(_infoContainerPlaceholder),

                _title.AtLeftOf(_infoContainer, 20).WithIdentifier("NameAtLeftOfBackgorund"),
                _title.AtRightOf(_infoContainer, 20).WithIdentifier("NameAtRightBackground"),
                _title.AtTopOf(_infoContainer, 4),

                _time.Below(_title, 5).WithIdentifier("TimeAboveLocation"),
                _time.AtLeftOf(_infoContainer, 20).WithIdentifier("TimeAtLeftOfBackground"),
                _time.AtRightOf(_infoContainer, 20).WithIdentifier("TimeAtRightOfBackground"),

                _location.Below(_time, 3),
                _location.AtBottomOf(_infoContainer),
                _location.AtLeftOf(_infoContainer, 20),
                _location.AtRightOf(_infoContainer, 20),

                // ---------------------------------------------

                _leftSubImage.AtLeftOf(_backPanel).WithIdentifier("LeftSubImageAtLeftOfBackPanel"),

                _rightSubImage.WithSameTop(_leftSubImage).WithIdentifier("RightSubImageWithSameTopLeftSub"),
                _rightSubImage.WithSameWidth(_leftSubImage).WithIdentifier("RightSubImageWithSameWidthLeftSub"),
                _rightSubImage.AtRightOf(_backPanel).WithIdentifier("RightSubImageAtRightOfBackPanel"),
                _rightSubImage.ToRightOf(_leftSubImage, 3).WithIdentifier("RightSubImageToRightOfLeftSub"),
                _rightSubImage.WithSameHeight(_leftSubImage).WithIdentifier("RightSubImageWithSameHeightLeftSub"),

                // BOTTOM
                _ruler.Above(_commentButton).WithIdentifier("RulerBelowContentContainer"),
                _ruler.Height().EqualTo(1).WithIdentifier("RulerHeightEqualTo1"),
                _ruler.WithSameLeft(_avatarImageView).WithIdentifier("RulerWithSameLeftAvatarImage"),
                _ruler.WithSameRight(_displayName).WithIdentifier("RulerWithSameRightDisplayName"),

                _commentButton.Above(_bottomBorder).WithIdentifier("CommentButtonBelowRuler"),
                _commentButton.WithSameLeft(_avatarImageView).WithIdentifier("CommentWithSameLeftAvatarImage"),
                _commentButton.Height().EqualTo(50).WithIdentifier("CommentButtonHeightEqualTo"),

                _likeButton.WithSameCenterY(_commentButton).WithIdentifier("LikeButtonWithSameCenterYCommentButton"),
                _likeButton.ToRightOf(_commentButton, 15).WithIdentifier("LikeButtonToRightOfCommentButton"),
                _likeButton.WithSameHeight(_commentButton).WithIdentifier("LikeButtonWithSameHeightCommentButton"),

                _bottomBorder.AtBottomOf(_backPanel).WithIdentifier("BottomBorderAtBottomOfBackPanel"),
                _bottomBorder.AtLeftOf(_backPanel).WithIdentifier("BottomBorderAtLeftOfBackPanel"),
                _bottomBorder.AtRightOf(_backPanel).WithIdentifier("BottomBorderAtRightOfBackPanel"),
                _bottomBorder.Height().EqualTo(1).WithIdentifier("BottomBorderHeightEqualTo1")
                );
        }
Exemplo n.º 3
0
        public VisualEditorViewController()
        {
            View.BackgroundColor = Styling.Colors.BackgroundColor;

            View.AddGestureRecognizer(new UITapGestureRecognizer(ViewTap));

            var discountLabel = new UILabel
            {
                BackgroundColor = Styling.Colors.Green,
                Text            = "25% OFF YOUR FIRST ORDER IF YOU SIGN UP BY 9/1",
                Font            = UIFont.FromName("Gotham-Medium", 11),
                TextColor       = UIColor.White,
                TextAlignment   = UITextAlignment.Center
            };

            var image = new UIImageView
            {
                Image = UIImage.FromBundle("Images/widgetCoLogo_red"),
            };

            var emailLabel = new UILabel
            {
                Text = "Email",
                Font = UIFont.FromName("Gotham-Light", 10)
            };
            var emailField = new CustomTextField
            {
                Placeholder = "*****@*****.**"
            };

            var phoneLabel = new UILabel
            {
                Text = "Phone Number:",
                Font = UIFont.FromName("Gotham-Light", 10)
            };

            var phoneField = new CustomTextField
            {
                Placeholder = "(555)-555-5555"
            };

            var passwordLabel = new UILabel
            {
                Text = "Password",
                Font = UIFont.FromName("Gotham-Light", 10)
            };

            var passwordField = new CustomTextField
            {
                SecureTextEntry = true,
            };

            var button = new CustomButton
            {
                TitleText = "Take me to the widgets"
            };

            View.AddSubviews(emailLabel, emailField, phoneLabel, phoneField, passwordLabel, passwordField, button, discountLabel, image);

            View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints();

            View.AddConstraints(
                discountLabel.WithSameTop(View),
                discountLabel.WithSameLeft(View),
                discountLabel.WithSameRight(View),
                discountLabel.Height().EqualTo(30),

                phoneLabel.WithSameLeft(phoneField),
                phoneLabel.WithSameCenterY(View),

                phoneField.WithSameCenterX(View),
                phoneField.Height().EqualTo(30),
                phoneField.Width().EqualTo(200),
                phoneField.Below(phoneLabel).Plus(5),

                emailField.WithSameLeft(phoneField),
                emailField.WithSameWidth(phoneField),
                emailField.WithSameHeight(phoneField),
                emailField.Above(phoneLabel).Minus(15),

                emailLabel.WithSameLeft(phoneField),
                emailLabel.Above(emailField).Minus(5),

                image.WithSameCenterX(View),
                image.Above(emailLabel).Minus(15),

                passwordLabel.WithSameLeft(phoneField),
                passwordLabel.Below(phoneField).Plus(15),

                passwordField.WithSameLeft(phoneField),
                passwordField.WithSameWidth(phoneField),
                passwordField.WithSameHeight(phoneField),
                passwordField.Below(passwordLabel).Plus(5),

                button.Below(passwordField).Plus(20),
                button.WithSameCenterX(View),
                button.WithSameWidth(phoneField),
                button.Height().EqualTo(50)
                );
        }
        public VisualEditorViewController()
        {
            View.BackgroundColor = Styling.Colors.BackgroundColor;

              View.AddGestureRecognizer(new UITapGestureRecognizer(ViewTap));

              var discountLabel = new UILabel
              {
            BackgroundColor = Styling.Colors.Green,
            Text = "25% OFF YOUR FIRST ORDER IF YOU SIGN UP BY 9/1",
            Font = UIFont.FromName("Gotham-Medium", 11),
            TextColor = UIColor.White,
            TextAlignment = UITextAlignment.Center
              };

              var image = new UIImageView
              {
            Image = UIImage.FromBundle("Images/widgetCoLogo_red"),
              };

              var emailLabel = new UILabel
              {
            Text = "Email",
            Font = UIFont.FromName("Gotham-Light", 10)
              };
              var emailField = new CustomTextField
              {
            Placeholder = "*****@*****.**"
              };

              var phoneLabel = new UILabel
              {
            Text = "Phone Number:",
            Font = UIFont.FromName("Gotham-Light", 10)
              };

              var phoneField = new CustomTextField
              {
            Placeholder = "(555)-555-5555"
              };

              var passwordLabel = new UILabel
              {
            Text = "Password",
            Font = UIFont.FromName("Gotham-Light", 10)
              };

              var passwordField = new CustomTextField
              {
            SecureTextEntry = true,
              };

              var button = new CustomButton
              {
            TitleText = "Take me to the widgets"
              };

              View.AddSubviews(emailLabel, emailField, phoneLabel, phoneField, passwordLabel, passwordField, button, discountLabel, image);

              View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints();

              View.AddConstraints(
            discountLabel.WithSameTop(View),
            discountLabel.WithSameLeft(View),
            discountLabel.WithSameRight(View),
            discountLabel.Height().EqualTo(30),

            phoneLabel.WithSameLeft(phoneField),
            phoneLabel.WithSameCenterY(View),

            phoneField.WithSameCenterX(View),
            phoneField.Height().EqualTo(30),
            phoneField.Width().EqualTo(200),
            phoneField.Below(phoneLabel).Plus(5),

            emailField.WithSameLeft(phoneField),
            emailField.WithSameWidth(phoneField),
            emailField.WithSameHeight(phoneField),
            emailField.Above(phoneLabel).Minus(15),

            emailLabel.WithSameLeft(phoneField),
            emailLabel.Above(emailField).Minus(5),

            image.WithSameCenterX(View),
            image.Above(emailLabel).Minus(15),

            passwordLabel.WithSameLeft(phoneField),
            passwordLabel.Below(phoneField).Plus(15),

            passwordField.WithSameLeft(phoneField),
            passwordField.WithSameWidth(phoneField),
            passwordField.WithSameHeight(phoneField),
            passwordField.Below(passwordLabel).Plus(5),

            button.Below(passwordField).Plus(20),
            button.WithSameCenterX(View),
            button.WithSameWidth(phoneField),
            button.Height().EqualTo(50)
              );
        }