如何在导航视图控制器内的根视图控件上设置标题。
一般来说,答案似乎是,设置一些viewcontroller"的self.title。但这只适用于我推动的viewcontrollers。在初始viewcontroller上,运行中self.title = @"my title";
或self.navigationController.navigationItem.title = @"my titles";
无法正常工作。
考虑到需要先设置,我在app delegate中做了这个:
MainMenuViewController *mainMenuViewController = [[MainMenuViewController alloc] initWithNibName:@"MainMenuViewController" bundle:nil];
mainMenuViewController.title = @"coding chal";
self.navController = [[UINavigationController alloc] initWithRootViewController:mainMenuViewController];
我必须为root视图控制器做什么才能拥有标题?
提前致谢
答案 0 :(得分:0)
设置视图控制器title
确实有效。当你遇到麻烦时,最好的方法是让自己成为一个最小的测试例子。这是一个。这是应用程序中唯一的代码!
在app delegate中:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
self.window = [UIWindow new];
ViewController* vc = [[ViewController alloc] initWithNibName:nil bundle:nil];
UINavigationController* nav = [[UINavigationController alloc] initWithRootViewController:vc];
self.window.rootViewController = nav;
[self.window makeKeyAndVisible];
return YES;
}
在视图控制器中:
- (instancetype) initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
self.title = @"Testing";
return self;
}
结果:
所以你可以看到它确实有效。因此,如果它似乎无法在您的应用项目中运行,那必须是因为某处的其他代码。