用砌體新增約束

Masonry 是 objective-c 的庫,但是 xamarin 為它建立了一個繫結,並將其建立為 nuget 包 https://www.nuget.org/packages/Masonry/

Nuget 安裝

Install-Package Masonry

這將按鈕位於包含檢視中心點下方 100 個點的中心,並設定 200 到 400 個點之間的寬度

this.loginBtn.MakeConstraints(make =>
{
    make.Width.GreaterThanOrEqualTo(new NSNumber(200));
    make.Width.LessThanOrEqualTo(new NSNumber(400));
    make.Center.EqualTo(this.View).CenterOffset(new CGPoint(0, 100));
});

這將縮放影象設定在包含檢視的中心點上方 100 個點,然後將寬度設定為包含檢視的寬度,其中 muliplier 為 0.5,這意味著寬度的 50%。然後將高度設定為寬度乘以縱橫比,從而使影象縮放但保持正確的縱橫比

this.logo.MakeConstraints(make =>
{
    make.Center.EqualTo(this.View).CenterOffset(new CGPoint(0, -100));
    make.Width.EqualTo(this.View).MultipliedBy(0.5f);
    make.Height.EqualTo(this.logo.Width()).MultipliedBy(0.71f);
});