summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.iOS/Renderers/TabbedRenderer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Platform.iOS/Renderers/TabbedRenderer.cs')
-rw-r--r--Xamarin.Forms.Platform.iOS/Renderers/TabbedRenderer.cs20
1 files changed, 12 insertions, 8 deletions
diff --git a/Xamarin.Forms.Platform.iOS/Renderers/TabbedRenderer.cs b/Xamarin.Forms.Platform.iOS/Renderers/TabbedRenderer.cs
index 2db8ac26..4ec16967 100644
--- a/Xamarin.Forms.Platform.iOS/Renderers/TabbedRenderer.cs
+++ b/Xamarin.Forms.Platform.iOS/Renderers/TabbedRenderer.cs
@@ -26,6 +26,9 @@ namespace Xamarin.Forms.Platform.iOS
bool _loaded;
Size _queuedSize;
+ IPageController PageController => Element as IPageController;
+ IElementController ElementController => Element as IElementController;
+
public override UIViewController SelectedViewController
{
get { return base.SelectedViewController; }
@@ -102,14 +105,14 @@ namespace Xamarin.Forms.Platform.iOS
public override void ViewDidAppear(bool animated)
{
- ((TabbedPage)Element).SendAppearing();
+ PageController.SendAppearing();
base.ViewDidAppear(animated);
}
public override void ViewDidDisappear(bool animated)
{
base.ViewDidDisappear(animated);
- ((TabbedPage)Element).SendDisappearing();
+ PageController.SendDisappearing();
}
public override void ViewDidLayoutSubviews()
@@ -126,7 +129,7 @@ namespace Xamarin.Forms.Platform.iOS
var frame = View.Frame;
var tabBarFrame = TabBar.Frame;
- ((TabbedPage)Element).ContainerArea = new Rectangle(0, 0, frame.Width, frame.Height - tabBarFrame.Height);
+ PageController.ContainerArea = new Rectangle(0, 0, frame.Width, frame.Height - tabBarFrame.Height);
if (!_queuedSize.IsZero)
{
@@ -149,7 +152,7 @@ namespace Xamarin.Forms.Platform.iOS
{
if (disposing)
{
- ((TabbedPage)Element).SendDisappearing();
+ PageController.SendDisappearing();
Tabbed.PropertyChanged -= OnPropertyChanged;
Tabbed.PagesChanged -= OnPagesChanged;
FinishedCustomizingViewControllers -= HandleFinishedCustomizingViewControllers;
@@ -258,9 +261,9 @@ namespace Xamarin.Forms.Platform.iOS
void SetControllers()
{
var list = new List<UIViewController>();
- for (var i = 0; i < Element.LogicalChildren.Count; i++)
+ for (var i = 0; i < ElementController.LogicalChildren.Count; i++)
{
- var child = Element.LogicalChildren[i];
+ var child = ElementController.LogicalChildren[i];
var v = child as VisualElement;
if (v == null)
continue;
@@ -352,7 +355,7 @@ namespace Xamarin.Forms.Platform.iOS
var originalIndex = -1;
if (int.TryParse(viewControllers[i].TabBarItem.Tag.ToString(), out originalIndex))
{
- var page = (Page)Tabbed.InternalChildren[originalIndex];
+ var page = (TabbedPage)((IPageController)Tabbed).InternalChildren[originalIndex];
TabbedPage.SetIndex(page, i);
}
}
@@ -360,7 +363,8 @@ namespace Xamarin.Forms.Platform.iOS
void UpdateCurrentPage()
{
- ((TabbedPage)Element).CurrentPage = SelectedIndex >= 0 && SelectedIndex < Tabbed.InternalChildren.Count ? Tabbed.GetPageByIndex((int)SelectedIndex) : null;
+ var count = ((IPageController)Tabbed).InternalChildren.Count;
+ ((TabbedPage)Element).CurrentPage = SelectedIndex >= 0 && SelectedIndex < count ? Tabbed.GetPageByIndex((int)SelectedIndex) : null;
}
void IEffectControlProvider.RegisterEffect(Effect effect)