79

タブごとに異なるビューを持つタブ バー アプリケーションがあります。各ビューには、Interface Builder で設定されたタイトルの UINavigationBar があります。ViewDidLoad メソッドの句を元にタイトルを変更したいので、x { タイトルを変更 } の場合。

を試してみself.title = @"title"ましたが、これによりタブ バー アイテム自体のタイトルが変更されます。

それで、これはどのように行われますか?

4

11 に答える 11

213

次のようなコードを使用して、プログラムでタイトルを設定しました。

navBar.topItem.title = @"title";

navBar は、インターフェイス ビルダーのナビゲーション バーにリンクされた IBOutlet UINavigationBar として宣言されます。これは私のアプリで機能しました。ただし、タブバーを使用していませんでした。

navBar.topItem がタブ バー アイテムである場合、navBar の topItem とタブ バー アイテムは同じオブジェクト。

于 2010-09-09T22:10:44.933 に答える
73

使用する

self.navigationItem.title = @"the title";

設定navBar.topItem.titleがすべての状況で機能するとは限りません。

于 2011-09-12T22:36:22.517 に答える
25

これを使って :

    CGRect navBarFrame = CGRectMake(0, 0, self.tableView.frame.size.width, 44.0);
    UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:navBarFrame];

    UINavigationItem *navItem = [UINavigationItem alloc];
    navItem.title = @"Your Title";

    [navBar pushNavigationItem:navItem animated:false];

[self.view addSubView:navBar]; 

また

self.tableView.tableHeaderView = navBar; etc
于 2013-02-14T18:55:18.097 に答える
11

クラスがUIViewControllerのタイプである場合は、viewDidLoadメソッドで指定されたタイトルを設定できます。

    [self setTitle:@"My Title"];
于 2012-10-18T09:27:17.883 に答える
6

IBOutletの作成UINavigationBar

navigationBar.topItem.title = @"Title";

お役に立てれば。

于 2012-03-22T10:35:21.193 に答える
4

私は以下を使用しました:

self.navigationController.navigationBar.topItem.title = @"Title";

ただし、それなしでviewDidLoad内で呼び出されたときにタイトルが変更されないため、ディスパッチブロックでも呼び出す必要がありました。

于 2012-02-16T03:32:12.523 に答える