Ich habe alle meine Benutzeroberfläche in Code erstellt (seit ich Flyout Navigation verwende, die nicht mit Storyboards zu arbeiten scheint). Ich habe einen UINavigationController namens MainController
und eine Reihe von View-Controllern. Wenn ich die App mit dem Root-Controller starte, wird die Navigationsleiste einwandfrei angezeigt.Xamarin iOS: Navigationsleiste wird nach dem Drücken der Ansicht nicht angezeigt
Wenn ich programmatisch ein neuer Viewcontroller ArticleDisplay
genannt schaffen, ich erstellen und als solche drücken (innerhalb MainController):
public void Open_Article(Post post)
{
ArticleDisplay vw = new ArticleDisplay(this);
vw.SetPost(post); // to set the iOS
this.PushViewController(vw, true);
}
Wenn ich die app ausführen und den ArticleDisplay Controller angezeigt werden, ich habe nicht einen Navigationsleiste (as you can see in this image), obwohl der Hauptansicht-Controller eine Navigationsleiste hat. Versuche, Dinge wie this.SetNavigationBarHidden(false,true)
zu tun, nichts tun.
Was kann ich tun, damit die Navigationsleiste angezeigt wird? Ich bin mir sicher, dass ich es irgendwo vermassele. Ich brauche es, damit ich dem Benutzer erlauben kann, zu dem Controller zurückzukehren, in dem er vorher war.
Es könnte sein, dass der Flyout-Navigationscontroller derjenige ist, der einen Navigationsstapel enthält. Überprüfen Sie, ob der NavigationController einen Wert innerhalb des Push-Controllers hat. Es gibt eine Eigenschaft namens ViewControllers, die den Navigationsstapel anzeigt. – Pilatus
versuchen .. this.PushViewController (neue UINavigationController (vw), true) –
@MohibSheth Ich hatte das versucht, und es gab mir einen Fehler, der besagt, dass es UINavigationControllers für dieses Argument nicht akzeptieren kann. – JaykeBird