Ich kann einen einfachen Tab-Renderer erstellen, der meine Forms ToolBarItems aktualisiert, um die eingebauten iOS-Symbole wie unten zu verwenden.Xamarin Forms iOS-Renderer - ToolBar Standard-Icons
NavigationController
nicht nur NULL
in ViewWillAppear
ist, wenn ich es in ViewDidLoad
versuchen, ist es NULL
.
Das Problem dabei ist, dass Sie den TabBar Item-Text anzeigen, bevor er durch das aktuelle Symbol ersetzt wird.
Gibt es einen anderen Ort, an dem ich das ToolBar-Verhalten abfangen sollte?
[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();
}
}
}
}
Versuchen Sie, die 'base.ViewWillAppear zu bewegen (animiert); 'bis zum Ende –
Das funktioniert nicht, danke aber. – aherrick
Erhalten Sie diesen Blitz am Simulator oder am echten Gerät? –