diff --git a/Cirrious.FluentLayout/AdvancedFluentLayoutExtensions.cs b/Cirrious.FluentLayout/AdvancedFluentLayoutExtensions.cs index 22ffe2e..9d6b949 100644 --- a/Cirrious.FluentLayout/AdvancedFluentLayoutExtensions.cs +++ b/Cirrious.FluentLayout/AdvancedFluentLayoutExtensions.cs @@ -30,6 +30,12 @@ public static FluentLayout AtRightOf(this UIView view, UIView parentView, nfloat public static FluentLayout AtBottomOf(this UIView view, UIView parentView, nfloat? margin = null) => view.Bottom().EqualTo().BottomOf(parentView).Minus(margin.GetValueOrDefault(DefaultMargin)); + public static FluentLayout AtLeadingOf(this UIView view, UIView parentView, nfloat? margin = null) => + view.Leading().EqualTo().LeadingOf(parentView).Plus(margin.GetValueOrDefault(DefaultMargin)); + + public static FluentLayout AtTrailingOf(this UIView view, UIView parentView, nfloat? margin = null) => + view.Trailing().EqualTo().TrailingOf(parentView).Minus(margin.GetValueOrDefault(DefaultMargin)); + public static FluentLayout Below(this UIView view, UIView previous, nfloat? margin = null) => view.Top().EqualTo().BottomOf(previous).Plus(margin.GetValueOrDefault(DefaultMargin)); @@ -50,6 +56,10 @@ public static FluentLayout Above(this UIView view, UIView previous, nfloat? marg public static FluentLayout WithSameBottom(this UIView view, UIView previous) => view.Bottom().EqualTo().BottomOf(previous); + public static FluentLayout WithSameLeading(this UIView view, UIView previous) => view.Leading().EqualTo().LeadingOf(previous); + + public static FluentLayout WithSameTrailing(this UIView view, UIView previous) => view.Trailing().EqualTo().TrailingOf(previous); + public static FluentLayout WithRelativeWidth(this UIView view, UIView previous, nfloat? scale = null) => view.Width().EqualTo().WidthOf(previous).WithMultiplier(scale.GetValueOrDefault(DefaultScale)); @@ -64,6 +74,12 @@ public static FluentLayout ToRightOf(this UIView view, UIView previous, nfloat? public static FluentLayout ToLeftOf(this UIView view, UIView previous, nfloat? margin = null) => view.Right().EqualTo().LeftOf(previous).Minus(margin.GetValueOrDefault(DefaultMargin)); + public static FluentLayout ToTrailingOf(this UIView view, UIView previous, nfloat? margin = null) => + view.Leading().EqualTo().TrailingOf(previous).Plus(margin.GetValueOrDefault(DefaultMargin)); + + public static FluentLayout ToLeadingOf(this UIView view, UIView previous, nfloat? margin = null) => + view.Trailing().EqualTo().LeadingOf(previous).Minus(margin.GetValueOrDefault(DefaultMargin)); + public static FluentLayout ToLeftMargin(this UIView view, UIView previous) => view.Leading().EqualTo().LeadingMarginOf(previous); diff --git a/QuickLayout.Core/QuickLayout.Core.csproj b/QuickLayout.Core/QuickLayout.Core.csproj index 2873547..fa28c70 100644 --- a/QuickLayout.Core/QuickLayout.Core.csproj +++ b/QuickLayout.Core/QuickLayout.Core.csproj @@ -48,6 +48,7 @@ +