Je peux créer un simple Renderer Tab qui mettra à jour mes ToolBarItems Forms pour utiliser les icônes iOS intégrées comme ci-dessous.Xamarin Forms iOS Renderer - Icônes standard ToolBar
NavigationController
est seulement pas NULL
dans ViewWillAppear
Si j'essaie dans ViewDidLoad
, il est NULL
.
Le problème avec ceci est que vous obtenez un éclair du texte de l'élément TabBar avant qu'il ne soit remplacé par l'icône actuelle.
Y a-t-il un autre endroit où je devrais intercepter le comportement de la barre d'outils?
[assembly: ExportRenderer(typeof(TabbedPage), typeof(TabRenderer))]
namespace Cellar.iOS.Renders
{
public class TabRenderer : TabbedRenderer
{
public override void ViewWillAppear(bool animated)
{
base.ViewWillAppear(animated);
var list = new List<UIBarButtonItem>();
foreach (var item in NavigationController.TopViewController.NavigationItem.RightBarButtonItems)
{
if (string.IsNullOrEmpty(item.Title))
{
continue;
}
if (item.Title.ToLower() == "add")
{
var newItem = new UIBarButtonItem(UIBarButtonSystemItem.Add)
{
Action = item.Action,
Target = item.Target
};
list.Add(newItem);
}
if (list.Count > 0)
NavigationController.TopViewController.NavigationItem.RightBarButtonItems = list.ToArray();
}
}
}
}
Essayez de déplacer le 'base.ViewWillAppear (animé); 'à la fin –
Cela ne fonctionne pas, merci cependant. – aherrick
Avez-vous ce flash sur un simulateur ou un appareil réel? –