diff options
Diffstat (limited to 'Xamarin.Forms.Platform.iOS')
-rw-r--r-- | Xamarin.Forms.Platform.iOS/Renderers/LabelRenderer.cs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/Xamarin.Forms.Platform.iOS/Renderers/LabelRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/LabelRenderer.cs index 0d016e50..5f1157fd 100644 --- a/Xamarin.Forms.Platform.iOS/Renderers/LabelRenderer.cs +++ b/Xamarin.Forms.Platform.iOS/Renderers/LabelRenderer.cs @@ -85,14 +85,26 @@ namespace Xamarin.Forms.Platform.MacOS Control.Frame = new RectangleF(0, 0, (nfloat)Element.Width, labelHeight); break; case TextAlignment.Center: + +#if __MOBILE__ Control.Frame = new RectangleF(0, 0, (nfloat)Element.Width, (nfloat)Element.Height); +#else + fitSize = Control.SizeThatFits(Element.Bounds.Size.ToSizeF()); + labelHeight = (nfloat)Math.Min(Bounds.Height, fitSize.Height); + var yOffset = (int)(Element.Height / 2 - labelHeight / 2); + Control.Frame = new RectangleF(0, 0, (nfloat)Element.Width, (nfloat)Element.Height - yOffset); +#endif break; case TextAlignment.End: - nfloat yOffset = 0; fitSize = Control.SizeThatFits(Element.Bounds.Size.ToSizeF()); labelHeight = (nfloat)Math.Min(Bounds.Height, fitSize.Height); +#if __MOBILE__ + nfloat yOffset = 0; yOffset = (nfloat)(Element.Height - labelHeight); Control.Frame = new RectangleF(0, yOffset, (nfloat)Element.Width, labelHeight); +#else + Control.Frame = new RectangleF(0, 0, (nfloat)Element.Width, labelHeight); +#endif break; } } |