2012-12-22 6 views
5

Ich schrieb eine Master/Detail-Anwendung mithilfe der Master/Detail-Vorlage von XCode. Nach dem Starten der App ist der Titel der Navigationsschaltfläche für die Masteransicht nur "Master". Jetzt möchte ich diesen Button nicht umbenennen, aber leider weiß ich nicht, wie ich auf diesen Button zugreifen soll. In appdelegate.m gibt es den folgenden Code, um die Ansichten zu initialisieren:NavigationItem in Master/Detail-Anwendung

MasterViewController *masterViewController = [[MasterViewController alloc] init]; 
UINavigationController *masterNavigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController]; 

DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil]; 
UINavigationController *detailNavigationController = [[UINavigationController alloc] initWithRootViewController:detailViewController] 

habe ich versucht, diese Wege ohne Erfolg:

masterViewController.navigationItem.title = @"newTitle"; 

oder

masterNavigationController.navigationItem.title = @"newTitle"; 

Da ich nicht sicher war, Wenn der Name der Schaltfläche ist nur der Titel der Ansicht hinter IDT, habe ich auch versucht, dass:

masterViewController.title = @ "newTitle";

Nichts hat funktioniert. Aber da der Titel des Buttons "Master" ist und ich ihn definitiv nicht gesetzt habe, glaube ich, dass es einen Weg geben muss, ihn zu setzen. Weiß jemand wie es geht?

einfach den Knopf zeigen: enter image description here

+0

Die Navigationstaste? Sprechen Sie über den Zurück-Knopf? – SEG

+0

Vielleicht ... Ich weiß wirklich nicht, ob es die Zurück-Taste oder die Navigationstaste ist. Es ist die einzige Schaltfläche, die nach dem Start der App angezeigt wird. Ich kann es verwenden, um den MasterView erscheinen zu lassen. – usermho

Antwort

6

Wenn Sie Master/Detail-Anwendung mit Master/Detail-Vorlage erstellt hätten, dann gehen Sie zu Ihrer "MasterViewController.m" Datei und ändern Sie die Zeichenfolge "Master", wie Sie wollten. Sehen Sie das Bild unten wäre es in Ihrem MasterViewController.m. enter image description here

UPDATE: und auch die barButtonItem Namen in der so wie unten DetailViewController.m ändern. Dies wird den Trick machen. enter image description here

+0

Das war genau das, was ich getan habe.In der Zwischenzeit habe ich meine init-Methode geändert und drinnen habe ich den Titel mit einer einfachen Zeichenfolge gesetzt: self.title = @ "newTitle" Und das ändert nur die Überschrift in der Ansicht, aber nicht den Titel der Schaltfläche! – usermho

+0

@usermho Überprüfen Sie meine aktualisierte Antwort .. –

+0

Yeaah! Das ist es! Das war wirklich schwierig! – usermho

1

versuchen self.navigationItem.title = @"newTitle"; innerhalb viewDidLoad() von MasterViewController.m Datei. oder self.title = @"newTitle" innerhalb der init() -Methode. HTH.

+0

Sorry, aber das funktioniert nicht. Ist es nicht die Samr als masterViewController.title = @ "newTitle"? – usermho

1

Ich nehme an, dass Sie versuchen, den Titel der Zurück-Schaltfläche Eigenschaft zu ändern. Dies geschieht, indem der folgende Code in die -viewDidLoad-Methode von MasterViewController eingegeben wird.

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"newTitle" style:UIBarButtonItemStyleBordered target:nil action:nil]; 
0

Es ist eine Weile her und irgendwie mit der aktuellen Version von Xcode 8.3.2 funktioniert es anders:

Wenn Sie Master/Detail-Anwendung erstellt haben würden Master/Detail-Vorlage verwenden, dann auf Ihre Main.storyboard gehen und Wählen Sie Master im Master Scene und zeigen Sie dann den "Attribute Inspector" an. Im Navigationsbereich können Sie die Title ändern.

Sie können dies für Master sowie Detail tun. enter image description here