2016-08-21 15 views
-1

ナビゲーションビューコントローラ内のルートビューコントローラにタイトルを設定する方法。
一般的には、答えは「set viewitrollerのself.title」と思われます。しかし、これは私が押しているViewControllerでのみ機能します。最初のビューコントローラでは、
self.title = @"my title";またはself.navigationController.navigationItem.title = @"my titles";を実行しても機能しません。以前に設定する必要があるナビゲーションバーのタイトルを設定する方法

思考、私はアプリデリゲートにこれをした:

MainMenuViewController *mainMenuViewController = [[MainMenuViewController alloc] initWithNibName:@"MainMenuViewController" bundle:nil]; 
    mainMenuViewController.title = @"coding chal"; 
    self.navController = [[UINavigationController alloc] initWithRootViewController:mainMenuViewController]; 

は私がタイトルを持っているルートのViewControllerのために何をしなければなりませんか?
ありがとうございます

+0

私はビューにxibを使用しているので、ストーリーボードはありません。デフォルトのinitをオーバーライドするのと同じくらい簡単にできますか? –

+0

私は実際に 'initWithNibName'を呼び出しています。私は' initWithCoder'をオーバーライドしましたが、呼び出されることはありません。 titleとnavigationItem.titleを設定する根拠はありますか? –

+0

とにかく**私は**呼び出される** initWithNibNameをオーバーライドしようとしましたが、あなたが言及した2つのプロパティを設定すると、タイトルのレンダリングに失敗します –

答えて

0

ビューコントローラのtitleを設定すると動作します。あなたが問題に遭遇したとき、最良のコースはあなた自身を最小のテストの例にすることです。ここに1つあります。これはアプリ内の唯一のコードです!

アプリデリゲートには:だからあなたはそれが本当に仕事をしていることがわかります

enter image description here

:結果

- (instancetype) initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    self.title = @"Testing"; 
    return self; 
} 

:ビューコントローラで

- (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; 
} 

。したがって、あなたのアプリプロジェクトではうまくいかないと思われる場合、それはという別のコードのためである必要があります。

+0

これは私が持っているのと同じコードです。 –

+0

さて、おそらくあなたはねじを締める他のコードを持っているでしょう。私はそれについて何も知らない。私はこれがうまくいくことを証明したと思う。あなたは私に何をしてほしいのですか、プロジェクトに電子メールを送りますか? – matt

関連する問題