Визуальный элемент VisualElement Drop Shadows в iOS

Download Sample Скачайте пример

Эта платформа iOS используется для включения тени падения на платформе VisualElement. Он используется в XAML путем задания присоединенного VisualElement.IsShadowEnabled свойства true, а также ряда дополнительных дополнительных присоединенных свойств, которые управляют тенью удаления:

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout Margin="20">
        <BoxView ...
                 ios:VisualElement.IsShadowEnabled="true"
                 ios:VisualElement.ShadowColor="Purple"
                 ios:VisualElement.ShadowOpacity="0.7"
                 ios:VisualElement.ShadowRadius="12">
            <ios:VisualElement.ShadowOffset>
                <Size>
                    <x:Arguments>
                        <x:Double>10</x:Double>
                        <x:Double>10</x:Double>
                    </x:Arguments>
                </Size>
            </ios:VisualElement.ShadowOffset>
         </BoxView>
        ...
    </StackLayout>
</ContentPage>

Кроме того, его можно использовать из C# с помощью api fluent:

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...

var boxView = new BoxView { Color = Color.Aqua, WidthRequest = 100, HeightRequest = 100 };
boxView.On<iOS>()
       .SetIsShadowEnabled(true)
       .SetShadowColor(Color.Purple)
       .SetShadowOffset(new Size(10,10))
       .SetShadowOpacity(0.7)
       .SetShadowRadius(12);

Метод VisualElement.On<iOS> указывает, что эта платформа будет работать только в iOS. Метод VisualElement.SetIsShadowEnabled в Xamarin.Forms.PlatformConfiguration.iOSSpecific пространстве имен используется для управления включением тени падения в пространстве VisualElementимен. Кроме того, можно вызвать следующие методы для управления тенью падения:

  • SetShadowColor — задает цвет тени падения. Цвет по умолчанию — Color.Default.
  • SetShadowOffset — задает смещение тени падения. Смещение изменяет направление отбрасывания тени и указывается в качестве Size значения. Size Значения структуры выражаются в единицах, независимых от устройства, с первым значением является расстояние слева (отрицательное значение) или справа (положительное значение), а второе — расстояние выше (отрицательное значение) или ниже (положительное значение). Значение по умолчанию этого свойства — (0.0, 0.0), что приводит к тому, что тень создается вокруг каждой VisualElementстороны.
  • SetShadowOpacity — задает непрозрачность тени падения, при этом значение в диапазоне 0,0 (прозрачно) равно 1.0 (непрозрачное). Значение прозрачности по умолчанию — 0,5.
  • SetShadowRadius — задает радиус размытия, используемый для отрисовки тени падения. Значение радиуса по умолчанию — 10,0.

Примечание.

Состояние тени перетаскивания можно запрашивать, вызывая GetIsShadowEnabledметоды , GetShadowColorи GetShadowOffsetGetShadowOpacityGetShadowRadius методы.

Результатом является то, что тени падения можно включить в VisualElement:

Drop shadow enabled