2011-10-04 7 views
15

私はナビゲーションコントローラを備えたアプリを開発中です。私はビューが最初に読み込まれるときにタイトルを設定する方法を知っています。私は新しいView Controllerをプッシュし、タイトルを設定します。今、問題は私が戻るボタンを押すと、元のビューコントローラのタイトルはもう存在しません。私はしようとしました...
navigationControllerタイトル

- (void)viewWillAppear:(BOOL)animated { 
    self.navigationController.title = @"Some Title"; 
} 

これはタイトルを設定しませんでした。誰でも私ができることを知っていますか?

+0

元のコントローラのためのタイトルを変更することはできません。|意図的に何かをしない限り。いくつかのコードを投稿してください。 – Legolas

+0

あなたは 'self.navigationController.title'を' nil'や '@" ''に設定していません。 – EmptyStack

+1

私は2つのビューコントローラを持っています...それぞれAとBと言いましょう。私はそれのviewDidLoadメソッドのAのタイトルを設定します。次に、Bを押して、BのタイトルをviewDidLoadメソッドで別のものに設定します。 BのBackボタンを押すと、BのView Controllerがポップされ、Aはタイトルなしで表示されます。 –

答えて

36

UINavigationControllerは、現在のUIViewControllerからタイトルの値を取得します。

は、単純に次の操作を行い、ビューコントローラのタイトルを設定するには:あなたのビューコントローラのそれぞれについて

- (void)viewDidLoad { 

    [super viewDidLoad]; 
    self.title = @"Some Title"; 
} 

を、ルート1を含みます。

+0

私はストーリーボードインタフェースビルダーでView Controllerのタイトルを設定しました。しかし、それは動作していません! – hasan83

+0

TabBarControllerに埋め込まれたNavigationControllerを使用している場合は、タブのタイトルとナビゲーションバーのタイトルが設定されます。代わりに 'self.navigationItem setTitle'を使用してください –

9

ナビゲーションアイテムのタイトルを変更してみてください。

[self.navigationItem setTitle:@"Some Title"]; 
0

タイトルをこのように設定してください。あなたはタイトルの詳細をカスタマイズしたい場合は

navigationItem.title = "Custom title" 

か::

self.navigationitem.title = @"My Title"; 
3

3スウィフト

let titleLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 100, height: 30)) 
titleLabel.textColor = UIColor.red 
titleLabel.text = "Hello" 
titleLabel.textAlignment = .center 
titleLabel.backgroundColor = UIColor.green 
titleLabel.font = UIFont(name: "Baskerville-Bold", size: 20) 
navigationItem.titleView = titleLabel 
関連する問題