public static void SelectTab(int selectedTab) { Instance.m_selectedTab = selectedTab; Instance.SelectedIndex = Instance.m_selectedTab; m_activeTab = m_tabs[selectedTab]; for (int i = 0; i < m_tabs.Count; i++) { m_tabs[i].ShowTab(i == selectedTab); } }
public static void AddTab(string text, string selectedImageName, string notSelectedImageName = null) { var selImage = UtilsiOS.LoadImage(selectedImageName); if (selImage == null) { throw new ArgumentException("Image [" + selectedImageName + "] not found."); } selImage = selImage.ImageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal); UIViewController tab = new UIViewController(); tab.Title = text; tab.TabBarItem.SelectedImage = selImage; tab.TabBarItem.Image = selImage; if (notSelectedImageName != null) { var image = UtilsiOS.LoadImage(notSelectedImageName); if (image == null) { throw new ArgumentException("Image [" + notSelectedImageName + "] not found."); } image = image.ImageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal); tab.TabBarItem.Image = image; } List <UIViewController> controllers = Instance.ViewControllers == null ? new List <UIViewController>() : new List <UIViewController>(Instance.ViewControllers); controllers.Add(tab); Instance.ViewControllers = controllers.ToArray(); m_activeTab = new iOSTab(tab, text); m_tabs.Add(m_activeTab); if (controllers.Count == 1) { // Lift the tabbar back up: Instance.OffsetTabBar(); } m_allTabs[text] = m_tabs.Count - 1; SelectTab(m_tabs.Count - 1); }