diff options
Diffstat (limited to 'Xamarin.Forms.Platform.iOS/Renderers')
8 files changed, 26 insertions, 17 deletions
diff --git a/Xamarin.Forms.Platform.iOS/Renderers/CarouselPageRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/CarouselPageRenderer.cs index f1364de7..d84dd740 100644 --- a/Xamarin.Forms.Platform.iOS/Renderers/CarouselPageRenderer.cs +++ b/Xamarin.Forms.Platform.iOS/Renderers/CarouselPageRenderer.cs @@ -382,5 +382,10 @@ namespace Xamarin.Forms.Platform.iOS Subviews[0].Frame = new RectangleF(0, 0, (float)Element.Width, (float)Element.Height); } } + + public void RegisterEffect(Effect effect) + { + VisualElementRenderer<VisualElement>.RegisterEffect(effect, View); + } } }
\ No newline at end of file diff --git a/Xamarin.Forms.Platform.iOS/Renderers/NavigationRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/NavigationRenderer.cs index 55e39ada..6af40216 100644 --- a/Xamarin.Forms.Platform.iOS/Renderers/NavigationRenderer.cs +++ b/Xamarin.Forms.Platform.iOS/Renderers/NavigationRenderer.cs @@ -978,9 +978,7 @@ namespace Xamarin.Forms.Platform.iOS void IEffectControlProvider.RegisterEffect(Effect effect) { - var platformEffect = effect as PlatformEffect; - if (platformEffect != null) - platformEffect.Container = View; + VisualElementRenderer<VisualElement>.RegisterEffect(effect, View); } } }
\ No newline at end of file diff --git a/Xamarin.Forms.Platform.iOS/Renderers/PageRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/PageRenderer.cs index e2455d78..1c7730e8 100644 --- a/Xamarin.Forms.Platform.iOS/Renderers/PageRenderer.cs +++ b/Xamarin.Forms.Platform.iOS/Renderers/PageRenderer.cs @@ -23,9 +23,7 @@ namespace Xamarin.Forms.Platform.iOS void IEffectControlProvider.RegisterEffect(Effect effect) { - var platformEffect = effect as PlatformEffect; - if (platformEffect != null) - platformEffect.Container = View; + VisualElementRenderer<VisualElement>.RegisterEffect(effect, View); } public VisualElement Element { get; private set; } diff --git a/Xamarin.Forms.Platform.iOS/Renderers/PhoneMasterDetailRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/PhoneMasterDetailRenderer.cs index 501312cd..b26e3148 100644 --- a/Xamarin.Forms.Platform.iOS/Renderers/PhoneMasterDetailRenderer.cs +++ b/Xamarin.Forms.Platform.iOS/Renderers/PhoneMasterDetailRenderer.cs @@ -401,9 +401,7 @@ namespace Xamarin.Forms.Platform.iOS void IEffectControlProvider.RegisterEffect(Effect effect) { - var platformEffect = effect as PlatformEffect; - if (platformEffect != null) - platformEffect.Container = View; + VisualElementRenderer<VisualElement>.RegisterEffect(effect, View); } } }
\ No newline at end of file diff --git a/Xamarin.Forms.Platform.iOS/Renderers/ScrollViewRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/ScrollViewRenderer.cs index 3d38bb6b..c9c24ad6 100644 --- a/Xamarin.Forms.Platform.iOS/Renderers/ScrollViewRenderer.cs +++ b/Xamarin.Forms.Platform.iOS/Renderers/ScrollViewRenderer.cs @@ -6,7 +6,7 @@ using RectangleF = CoreGraphics.CGRect; namespace Xamarin.Forms.Platform.iOS { - public class ScrollViewRenderer : UIScrollView, IVisualElementRenderer + public class ScrollViewRenderer : UIScrollView, IVisualElementRenderer, IEffectControlProvider { EventTracker _events; KeyboardInsetTracker _insetTracker; @@ -88,6 +88,8 @@ namespace Xamarin.Forms.Platform.iOS OnElementChanged(new VisualElementChangedEventArgs(oldElement, element)); + EffectUtilities.RegisterEffectControlProvider(this, oldElement, element); + if (element != null) element.SendViewInitialized(this); @@ -234,5 +236,10 @@ namespace Xamarin.Forms.Platform.iOS if (ScrollView != null) Controller.SetScrolledPosition(ContentOffset.X, ContentOffset.Y); } + + void IEffectControlProvider.RegisterEffect(Effect effect) + { + VisualElementRenderer<VisualElement>.RegisterEffect(effect, this, NativeView); + } } }
\ No newline at end of file diff --git a/Xamarin.Forms.Platform.iOS/Renderers/TabbedRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/TabbedRenderer.cs index f0aa7c7f..27492768 100644 --- a/Xamarin.Forms.Platform.iOS/Renderers/TabbedRenderer.cs +++ b/Xamarin.Forms.Platform.iOS/Renderers/TabbedRenderer.cs @@ -375,9 +375,7 @@ namespace Xamarin.Forms.Platform.iOS void IEffectControlProvider.RegisterEffect(Effect effect) { - var platformEffect = effect as PlatformEffect; - if (platformEffect != null) - platformEffect.Container = View; + VisualElementRenderer<VisualElement>.RegisterEffect(effect, View); } void SetTabBarItem(IVisualElementRenderer renderer) diff --git a/Xamarin.Forms.Platform.iOS/Renderers/TabletMasterDetailRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/TabletMasterDetailRenderer.cs index 9f0dff00..fd03d468 100644 --- a/Xamarin.Forms.Platform.iOS/Renderers/TabletMasterDetailRenderer.cs +++ b/Xamarin.Forms.Platform.iOS/Renderers/TabletMasterDetailRenderer.cs @@ -388,9 +388,7 @@ namespace Xamarin.Forms.Platform.iOS void IEffectControlProvider.RegisterEffect(Effect effect) { - var platformEffect = effect as PlatformEffect; - if (platformEffect != null) - platformEffect.Container = View; + VisualElementRenderer<VisualElement>.RegisterEffect(effect, View); } } }
\ No newline at end of file diff --git a/Xamarin.Forms.Platform.iOS/Renderers/WebViewRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/WebViewRenderer.cs index 70c9bf60..390e16d2 100644 --- a/Xamarin.Forms.Platform.iOS/Renderers/WebViewRenderer.cs +++ b/Xamarin.Forms.Platform.iOS/Renderers/WebViewRenderer.cs @@ -7,7 +7,7 @@ using Xamarin.Forms.Internals; namespace Xamarin.Forms.Platform.iOS { - public class WebViewRenderer : UIWebView, IVisualElementRenderer, IWebViewDelegate + public class WebViewRenderer : UIWebView, IVisualElementRenderer, IWebViewDelegate, IEffectControlProvider { EventTracker _events; bool _ignoreSourceChanges; @@ -55,6 +55,8 @@ namespace Xamarin.Forms.Platform.iOS OnElementChanged(new VisualElementChangedEventArgs(oldElement, element)); + EffectUtilities.RegisterEffectControlProvider(this, oldElement, element); + if (Element != null && !string.IsNullOrEmpty(Element.AutomationId)) AccessibilityIdentifier = Element.AutomationId; @@ -260,5 +262,10 @@ namespace Xamarin.Forms.Platform.iOS } #endregion + + void IEffectControlProvider.RegisterEffect(Effect effect) + { + VisualElementRenderer<VisualElement>.RegisterEffect(effect, this, NativeView); + } } }
\ No newline at end of file |