summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.iOS/VisualElementPackager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Platform.iOS/VisualElementPackager.cs')
-rw-r--r--Xamarin.Forms.Platform.iOS/VisualElementPackager.cs18
1 files changed, 11 insertions, 7 deletions
diff --git a/Xamarin.Forms.Platform.iOS/VisualElementPackager.cs b/Xamarin.Forms.Platform.iOS/VisualElementPackager.cs
index 7f511d9d..0aefc482 100644
--- a/Xamarin.Forms.Platform.iOS/VisualElementPackager.cs
+++ b/Xamarin.Forms.Platform.iOS/VisualElementPackager.cs
@@ -14,6 +14,8 @@ namespace Xamarin.Forms.Platform.iOS
bool _isDisposed;
+ IElementController ElementController => Renderer.Element as IElementController;
+
public VisualElementPackager(IVisualElementRenderer renderer)
{
if (renderer == null)
@@ -33,9 +35,9 @@ namespace Xamarin.Forms.Platform.iOS
public void Load()
{
- for (var i = 0; i < Renderer.Element.LogicalChildren.Count; i++)
+ for (var i = 0; i < ElementController.LogicalChildren.Count; i++)
{
- var child = Renderer.Element.LogicalChildren[i] as VisualElement;
+ var child = ElementController.LogicalChildren[i] as VisualElement;
if (child != null)
OnChildAdded(child);
}
@@ -90,12 +92,12 @@ namespace Xamarin.Forms.Platform.iOS
void EnsureChildrenOrder()
{
- if (Renderer.Element.LogicalChildren.Count == 0)
+ if (ElementController.LogicalChildren.Count == 0)
return;
- for (var z = 0; z < Renderer.Element.LogicalChildren.Count; z++)
+ for (var z = 0; z < ElementController.LogicalChildren.Count; z++)
{
- var child = Renderer.Element.LogicalChildren[z] as VisualElement;
+ var child = ElementController.LogicalChildren[z] as VisualElement;
if (child == null)
continue;
var childRenderer = Platform.GetRenderer(child);
@@ -152,9 +154,11 @@ namespace Xamarin.Forms.Platform.iOS
}
else
{
- for (var i = 0; i < oldElement.LogicalChildren.Count; i++)
+ var elementController = ((IElementController)oldElement);
+
+ for (var i = 0; i < elementController.LogicalChildren.Count; i++)
{
- var child = oldElement.LogicalChildren[i] as VisualElement;
+ var child = elementController.LogicalChildren[i] as VisualElement;
if (child != null)
OnChildRemoved(child);
}