2021年1月6日星期三

How to set height of view with FluentLayout

I am using FluentLayout with my Xamarin.iOS project. I created a view:

public class SignInView : UIView  {      private const int headerSpacing = 20;      private const int textFieldSpacing = 10;      private const int textFieldButtonSpacing = 15;      private const int buttonSpacing = 10;      private const int textFieldHeight = 50;        public SignInView()      {          ConstructView();      }        private void ConstructView()      {          var signInLabel = new UILabel() { Text = "sign in" };          var usernameTextField = new UITextField() { Placeholder = "enter username" };          var passwordTextField = new UITextField() { Placeholder = "enter password" };          var signInButton = new UIButton();          var createAccountButton = new UIButton();            signInButton.SetTitle("sign in", UIControlState.Normal);          createAccountButton.SetTitle("create account", UIControlState.Normal);            AddSubviews(signInLabel, usernameTextField, passwordTextField, signInButton, createAccountButton);            this.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints();            this.AddConstraints(              signInLabel.WithSameTop(this),              signInLabel.WithSameCenterX(this),                usernameTextField.Below(signInLabel, headerSpacing),              usernameTextField.WithSameWidth(this),              usernameTextField.Height().GreaterThanOrEqualTo(textFieldHeight),                passwordTextField.Below(usernameTextField, textFieldSpacing),              passwordTextField.WithSameWidth(this),              passwordTextField.Height().GreaterThanOrEqualTo(textFieldHeight),                signInButton.Below(passwordTextField, textFieldButtonSpacing),              signInButton.WithSameWidth(this),                createAccountButton.Below(signInButton, buttonSpacing),              createAccountButton.WithSameWidth(this)          );            BackgroundColor = UIColor.Red;      }  }  

When I place SignInView in my view, I see everything correctly, but the background isn't red because the height is zero, and nothing is clickable for the same reason. Is there a way to set the height in SignInView to be the bottom of createAccountButton?

By the way, what does SubviewsDoNotTranslateAutoresizingMaskIntoConstraints do? I always need it so that the constraints work, but don't know what it does exactly.

https://stackoverflow.com/questions/65586491/how-to-set-height-of-view-with-fluentlayout January 06, 2021 at 05:00AM

没有评论:

发表评论