gpt4 book ai didi

c# - 如何与约束水平对齐?

转载 作者:行者123 更新时间:2023-12-01 18:35:57 25 4
gpt4 key购买 nike

我怎样才能水平对齐三个元素[A B C]一个又一个有约束条件?

public static void AddConstraintsElements(UIView View, UIView element, UIView element2, UIView element3)
{
NSLayoutConstraint.ActivateConstraints(new[] {
element.TopAnchor.ConstraintGreaterThanOrEqualTo(View.TopAnchor, constant: 20),
element.LeadingAnchor.ConstraintGreaterThanOrEqualTo(View.LeadingAnchor, constant: 100),
element.WidthAnchor.ConstraintGreaterThanOrEqualTo(View.WidthAnchor, 1),
element.HeightAnchor.ConstraintGreaterThanOrEqualTo(View.HeightAnchor, 1),

element2.BottomAnchor.ConstraintGreaterThanOrEqualTo(View.TopAnchor, constant: 20),
element2.TrailingAnchor.ConstraintGreaterThanOrEqualTo(View.LeadingAnchor, constant: 120),
element2.WidthAnchor.ConstraintGreaterThanOrEqualTo( 1),
element2.HeightAnchor.ConstraintGreaterThanOrEqualTo( 1),

element3.BottomAnchor.ConstraintGreaterThanOrEqualTo(View.TopAnchor, constant: 20),
element3.TrailingAnchor.ConstraintGreaterThanOrEqualTo(View.LeadingAnchor, constant: 120),
element3.WidthAnchor.ConstraintGreaterThanOrEqualTo( 1),
element3.HeightAnchor.ConstraintGreaterThanOrEqualTo( 1)
});
}

enter image description here

如果是第一元素和第二元素,请移除第三个元素
:

enter image description here

我试过了但是没用
element1.WidthAnchor.ConstraintEqualTo(25).Active = true;
element1.HeightAnchor.ConstraintEqualTo(element1.WidthAnchor).Active = true;

element2.WidthAnchor.ConstraintEqualTo(30).Active = true;
element2.HeightAnchor.ConstraintEqualTo(30).Active = true;



element1.TrailingAnchor.ConstraintEqualTo(element2.LeadingAnchor).Active = true;

element1.TopAnchor.ConstraintEqualTo(View.TopAnchor, 15).Active = true;
element2.TopAnchor.ConstraintEqualTo(View.TopAnchor, 15).Active = true;

element1.LeftAnchor.ConstraintEqualTo( View.CenterXAnchor).Active = true;
element2.RightAnchor.ConstraintEqualTo(View.RightAnchor).Active = true;

最佳答案

假设您要像这样对齐它们:

+-----------------------------------------------+
| ^ |
| 120 |
| v |
| +---------++---------++---------+ |
| | || || | |
| | A || B || C | |
| | || || | |
| +---------++---------++---------+ |
| |
| |
| |

物品居中并从顶部指向120点,它们的宽度和高度固定。您可以执行以下操作:

// set widths and heights
a.WidthAnchor.ConstraintEqualTo(25).Active = true;
a.HeightAnchor.ConstraintEqualTo(a.WidthAnchor).Active = true;

b.WidthAnchor.ConstraintEqualTo(25).Active = true;
b.HeightAnchor.ConstraintEqualTo(b.WidthAnchor).Active = true;

c.WidthAnchor.ConstraintEqualTo(25).Active = true;
c.HeightAnchor.ConstraintEqualTo(c.WidthAnchor).Active = true;

// align B view as the middle view
b.CenterXAnchor.ConstraintEqualTo(View.CenterXAnchor).Active = true;

// align A to left of B
a.TrailingAnchor.ConstraintEqualTo(b.LeadingAnchor).Active = true;

// align C to right of B
c.LeadingAnchor.ConstraintEqualTo(b.TrailingAnchor).Active = true;

// align A, B and C, 120 points from the top
a.TopAnchor.ConstraintEqualTo(View.TopAnchor, 120).Active = true;
b.TopAnchor.ConstraintEqualTo(View.TopAnchor, 120).Active = true;
c.TopAnchor.ConstraintEqualTo(View.TopAnchor, 120).Active = true;

关于c# - 如何与约束水平对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59181706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com