0

次のような UITabBarController を作成しました。

InfoViewController *iVC = [[InfoViewController alloc] init];
self.infoViewController = iVC; // retain property

UITabBarItem *tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemSearch tag:0];
self.infoViewController.tabBarItem = tabBarItem;





UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:myVC];
self.navigationController = nc;

UITabBarItem *tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemMostRecent tag:1];
self.navigationController.tabBarItem = tabBarItem;






UITabBarController *tbc = [[UITabBarController alloc] init];

NSArray* controllers = [NSArray arrayWithObjects:self.infoViewController, self.navigationController, nil];

self.tabBarController = tbc; // retain property!

self.tabBarController.viewControllers = コントローラー; [リリース予定];

問題: 下部に黒いタブ バーと白いコンテンツ エリアが表示されます。配列内の最初のビュー コントローラーの背景色は赤です。したがって、赤く表示されるはずです。

タブ バーにはアイテムが表示されず、空です。

何が問題になる可能性がありますか? 私は nib ファイルを使用しません... 警告もエラーも、コンソールにも何も記録されません。タブバーを空にするだけです。

4

1 に答える 1

1

あなたは行方不明ではありませんか:

self.tabBarController.viewControllers = controllers;

編集:

それ以外は、含まれているコードにそのような間違ったものは何も見当たらないので、これは私に何か他のものが間違っているに違いないと思うように導きます。いくつかのオプション:

  1. self.tabBarControllerが何かを指しているのは確かですか(nilではありません)?
  2. あなたが見ているのと同じUITabControllerを指していると確信していますか?
  3. 作成しているコントローラーが正しく作成されていることを確認しますか?tabBarに関係なくそれらを表示してみてください

    [self.tabBarController presentModalViewController:iVCアニメーション:YES];

  4. UITabControllerはNIBから作成されていますか?NSLogをinitWithNibNameまたはawakeFromNibに配置して、コードの前に呼び出され、コードの後に​​再度呼び出されないようにします。

他に何か問題があることを示すものがない場合は、これらから始めてください。さらにいくつか試してみることができます。

于 2010-01-26T13:54:58.750 に答える