问题
I wrote a Master/Detail Application by using the Master/Detail template of XCode. After starting the app, the title of the navigation button for the master view is just "Master". Now I waant tio rename that button, but unfortunately I don't know how to access this button. In appdelegate.m there is the following code to initialize the views:
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]
I tried these ways without success:
masterViewController.navigationItem.title = @"newTitle";
or
masterNavigationController.navigationItem.title = @"newTitle";
As I wasn't sure, if the name of the button is just the title of the view behind idt, I also tried that:
masterViewController.title = @"newTitle";
Nothing worked. But as the title of the button is "Master" and I definitely didn't set it, I believe there must be some way to set it. Does anyone know how to do it?
Just to show the button:

回答1:
If you would have created Master/Detail application using Master/Detail Template, then go to your "MasterViewController.m"
file and change the string "Master" as you wanted. See the below image it would be like this in your MasterViewController.m
.

UPDATE:
and also change the barButtonItem
name in the DetailViewController.m
as like below. This will do the trick.

回答2:
try self.navigationItem.title = @"newTitle";
inside viewDidLoad() of MasterViewController.m file. or self.title = @"newTitle"
inside the init() method. HTH.
回答3:
I assume that you are trying to change the title of the back button property.
This is done by putting the following code in the -viewDidLoad
method of MasterViewController
.
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"newTitle" style:UIBarButtonItemStyleBordered target:nil action:nil];
回答4:
It's been a while and somehow with the current Xcode Version 8.3.2 it works different:
If you would have created Master/Detail application using Master/Detail Template, then go to your Main.storyboard
and select the Master
in the Master Scene
and then show the "Attributes Inspector". In the Navigation item area you can change the Title
.
You can do this for Master
as well as Detail
.
来源:https://stackoverflow.com/questions/14004685/navigationitem-in-master-detail-application