Potrafię stworzyć proste narzędzie Tab Renderer, które zaktualizuje moje narzędzia Forms ToolBarItems do korzystania z wbudowanych ikon systemu iOS, jak poniżej.Xamarin Forms iOS Renderer - Toolbar Standardowe ikony
NavigationController
jest NIE tylko NULL
w ViewWillAppear
Gdy próbuję go w ViewDidLoad
, to NULL
.
Problem polega na tym, że dostajesz błysk tekstu TabBar, zanim zostanie on zastąpiony rzeczywistą ikoną.
Czy jest inne miejsce, w którym powinienem przechwycić zachowanie paska narzędziowego?
[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();
}
}
}
}
Spróbuj przesunąć 'base.ViewWillAppear (animowany); 'do końca –
To nie działa, dziękuję. – aherrick
Czy otrzymujesz tę lampę błyskową na symulatorze lub na prawdziwym urządzeniu? –