2010-12-02 8 views
0

のタイトルを設定し、私は次の問題が生じています:UINavigationController:次UINavigationItem

私はあなたが次の1つのビューを切り替えるとタイトルを変更しUINavigationBarをUINavigationControllerを持っています。たとえば、最初のビューをRootと呼び、次のビューをLoginと呼びます。私が[navigationController pushViewController:loginViewController animated:YES]と呼んで初めての初めての(そして、初めての場合のみ)、ログインビューが表示され、ビューが完全に表示された後にのみナビゲーションバーに "Login"タイトルが表示されます。これは、didShowViewControllerから呼び出される関数でタイトルを設定したためです。私がする必要があるのは、同じ関数をwillShowViewControllerから呼び出すことです。問題は、新しいビューコントローラのUINavigationItemがまだ作成されていないため、タイトルを設定できないということです。 どうすればその問題を回避できますか?あなたはそれを作成するときに

おかげで、

franck-

答えて

0

ただのViewControllerのタイトルプロパティを設定します。 UINavigationItemはすでに存在しています(または少なくともあなたがそれをタッチすると作成される)ので、それを設定できない理由はありません。

1

UINavigationControllerデリゲートメソッドではなく、表示コントローラのviewDidLoadまたはloadViewメソッドでナビゲーションアイテムのタイトルを設定する必要があります。ただし、ビューコントローラの作成後にビューコントローラのtitleプロパティを設定することも、トリックを行う必要があります。

+0

私の悪い...私は私のすべてのviewControllersを派生していた基本クラスを持っていて、UIViewControllerからそのものを隠していた 'title'プロパティを持っていました – Franck

関連する問題