3 Stimmen

UINavigationItem-Titel kann nicht programmatisch gesetzt werden

Ich habe meine App mit einem Storyboard eingerichtet und meinen Haupt-View-Controller in eine UINavigationControler . Um den Titel, der in der Navigationsleiste erscheint, zu ändern, wählen Sie im Menü viewDidLoad Methode meines Haupt-View-Controllers, habe ich self.navigationItem.title = @"My Title"; Aber der Titel wird nie festgelegt.

Ich vermute, dass ich in meinem Storyboard eine Referenzsteckdose einrichten muss, aber ich bin nicht sicher, was mit was verbunden werden muss. Irgendwelche Ideen?

7voto

Izac Mac Punkte 481

Im Storyboard nicht automatisch verbunden wird, erstellen Sie ein UINavigationItem mit folgendem Code in Ihrer .h-Datei

@property(weak, nonatomic) IBOutlet UINavigationItem *navBar;

in der .m-Datei die Eigenschaft synthetisieren und den Titel wie folgt festlegen

@synthesize navBar;
-(void)viewWillAppear:(BOOL)animated {
[self.navBar setTitle:@"Sign In"];
[self.navigationController setNavigationBarHidden:NO animated:animated];
}

Vergessen Sie auch nicht, das UINavigationItem "navBar" im StoryBoard mit Ihrer Klasse zu verbinden, damit das Storyboard weiß, wessen Titel es ändern soll. Falls Sie kein UINavigationItem in Ihrem Storyboard haben, fügen Sie es außerhalb der UIView hinzu und verbinden Sie es dann richtig

3voto

diatrevolo Punkte 2726

Das Einstellen der title-Eigenschaft des View-Controllers, in dem Sie sich befinden, sollte genügen.

[self setTitle:@"Best Page Ever"];

0voto

Abhishek Singh Punkte 6058

Nachdem Sie Ihre Stammansicht zugewiesen haben, verwenden Sie:-

YourRootView *rootView=[YourRootView alloc]init];
rootView.title=@"yourTitle";

und dann initialisieren Sie es in uinavigationcontroller.(Ich habe keine Ahnung, wenn Sie Ihre Ansicht auf Storyboard haben, dann setzen Sie seinen Titel direkt nach der Zuweisung und dann übergeben Sie es als Parameter an navigationcontroller).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X