通常のUIViewControllerがあり、UINavigationControllerDelegateを追加しましたが、willappearに次のように追加しましたが、機能しませんでしたか?
[self.navigationController setNavigationBarHidden:NO animated:YES];
self.navigationController.navigationItem.title = @"hai";
ナビゲーションコントローラーに追加するビューコントローラーでタイトルを設定する必要があります。
つまり、ビューコントローラの追加
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"My Title";
}
または、ビューコントローラの配列に直接アクセスします
AddFriendViewController *addFriendsView = [[AddFriendViewController alloc] initWithNibName:@"AddFriendViewController" bundle:nil];
[self.navigationController pushViewController:addFriendsView animated:YES];
[[self.navigationController.viewControllers objectAtIndex:0] setTitle:@"myTitle"];
[addFriendsView release];
すべてのViewControllerにはナビゲーションアイテムがあります。ナビゲーションコントローラーのナビゲーションアイテムを変更しています...しかし、ナビゲーションコントローラーが別のナビゲーションコントローラー内にない限り、それは表示されません。の代わりに
self.navigationController.navigationItem.title = @"hai";
あなたが欲しい
self.navigationItem.title = @"hai";
または、ナビゲーションアイテムのタイトルがnilの場合、ナビゲーションコントローラーはビューコントローラーのタイトルを使用します。
self.title = @"hai";
何らかの理由でナビゲーションバーとタブバーのそれぞれに異なるタイトルを指定する場合を除いて、ナビゲーションバーとタブバーの両方で使用されるビュータイトルを設定するだけです。
コントローラの[属性]タブで、ナビゲーションバーを[プロンプト付きの黒いナビゲーションバー]に設定する必要がある場合があります。それが私のために働いたものです。
ビューコントローラがスタックにプッシュされていない場合、つまり。スタックの一番上にビューコントローラー(rootViewControllerと呼ばれることもあります)を表示しています。
[rootViewController setTitle:@"Title"];
setTitle --rootViewController.title = @ "Title"を使用する必要があることに注意してください。通常は機能しません。
実際には、viewDidLoadがまだ行われていない場合でも、任意のビューコントローラーで実行できます。プログラムで作成された場合は、
myViewController *mvc=[[myViewController alloc] initWithNibName:@"nameofnibwithout.xib" bundle:nil];
または、アプリデリゲートでオブジェクトとして宣言し、IBOutletにして、UIViewControllerを作成し、そのクラスをmyViewControllerに設定して、nilにならないようにIBOutletに接続することもできます。
私の場合、init
メソッドで設定したときに、タイトルがiOS6
に表示されませんでした。
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.title = LS(@"Favorites");
self.tabBarItem.title = LS(@"Favorites");
self.tabBarItem.image = [UIImage imageNamed:@"star"];
}
return self;
}
したがって、そこからViewDidLoad
に移動する必要があります。
タイトルを設定したときに、self.navigationController.navigationItem
がnil
ではないことを確認しますか?