如何设置导航栏的标题

时间:2016-08-21 03:02:34

标签: uinavigationcontroller uikit

如何在导航视图控制器内的根视图控件上设置标题。
一般来说,答案似乎是,设置一些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视图控制器做什么才能拥有标题?
提前致谢

1 个答案:

答案 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;
}

结果:

enter image description here

所以你可以看到它确实有效。因此,如果它似乎无法在您的应用项目中运行,那必须是因为某处的其他代码。