web-dev-qa-db-ja.com

UINavigationControllerのタイトルが表示されませんか?

通常のUIViewControllerがあり、UINavigationControllerDelegateを追加しましたが、willappearに次のように追加しましたが、機能しませんでしたか?

    [self.navigationController setNavigationBarHidden:NO animated:YES];
    self.navigationController.navigationItem.title = @"hai";
20
senthilMuthu

ナビゲーションコントローラーに追加するビューコントローラーでタイトルを設定する必要があります。

つまり、ビューコントローラの追加

- (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];
44

すべてのViewControllerにはナビゲーションアイテムがあります。ナビゲーションコントローラーのナビゲーションアイテムを変更しています...しかし、ナビゲーションコントローラーが別のナビゲーションコントローラー内にない限り、それは表示されません。の代わりに

self.navigationController.navigationItem.title = @"hai";

あなたが欲しい

self.navigationItem.title = @"hai";

または、ナビゲーションアイテムのタイトルがnilの場合、ナビゲーションコントローラーはビューコントローラーのタイトルを使用します。

self.title = @"hai";

何らかの理由でナビゲーションバーとタブバーのそれぞれに異なるタイトルを指定する場合を除いて、ナビゲーションバーとタブバーの両方で使用されるビュータイトルを設定するだけです。

16
benzado

コントローラの[属性]タブで、ナビゲーションバーを[プロンプト付きの黒いナビゲーションバー]に設定する必要がある場合があります。それが私のために働いたものです。

0
Jake Doty

ビューコントローラがスタックにプッシュされていない場合、つまり。スタックの一番上にビューコントローラー(rootViewControllerと呼ばれることもあります)を表示しています。

[rootViewController setTitle:@"Title"];

setTitle --rootViewController.title = @ "Title"を使用する必要があることに注意してください。通常は機能しません。

実際には、viewDidLoadがまだ行われていない場合でも、任意のビューコントローラーで実行できます。プログラムで作成された場合は、

myViewController *mvc=[[myViewController alloc] initWithNibName:@"nameofnibwithout.xib" bundle:nil];

または、アプリデリゲートでオブジェクトとして宣言し、IBOutletにして、UIViewControllerを作成し、そのクラスをmyViewControllerに設定して、nilにならないようにIBOutletに接続することもできます。

0

私の場合、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に移動する必要があります。

0
Denis Kutlubaev

タイトルを設定したときに、self.navigationController.navigationItemnilではないことを確認しますか?

0
Adam Woś