0
我的代码是这样的:如何使用Xamarin iOS Fluent Layout在中心对齐子视图?
var nameTextField = new UITextField();
var passwordTextField = new UITextField();
var loginButton = new UIButton();
//Bindings with MvvmCross...
Add(nameTextField);
Add(passwordTextField);
Add(loginButton);
View.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints();
View.AddConstraints(
nameTextField.AtTopOf(View, 10),
nameTextField.AtLeftOf(View, 10),
nameTextField.AtRightOf(View, 10),
passwordTextField.Below(nameTextField, 10),
passwordTextField.WithSameLeft(nameTextField),
passwordTextField.WithSameRight(nameTextField),
loginButton.Below(passwordTextField, 30),
loginButton.WithSameLeft(passwordTextField),
loginButton.WithSameRight(passwordTextField)
);
随着“nameTextField.AtTopOf(图10),显示上方屏幕上的形式但现在,我需要垂直对齐的所有控件(姓名,密码和按钮)在视图中。
我怎样才能做到这一点?
我已经尝试了所有控件的页边距来概括的高度,并使用.WithCenterY(查看).Minus(值),但我认为这不是最好的方法,特别是当我有很多控件时。
谢谢。
问题是,formView的顶部与视图的CenterY对齐,所以子视图呈现在中间/底部的屏幕。我需要使用ViewY的CenterY对齐formView的中心(与已经添加的子视图)。 –
尝试'formView.WithSameCenterY(查看)' – xleon
我设法让这项工作改变了约束顺序。 First View.AddConstraints ...和他们的formView.AddConstraints ...最重要的是定义一些高度formView的大于或等于所有子视图的高度和边距的总和。 formView中的红色背景色有助于进行一些测试。谢谢! –