NavigationItem in Master/Detail application

三世轮回 提交于 2019-12-10 13:56:14

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!