2

viewControllerをTabBarControllerに追加しています。カスタムクラスとNibからViewControllerを追加すると、そのアイコンがtabBarに表示されません。

このように初期化すると、アイコンが表示されません。

viewController = [[FlashCardViewController alloc] initWithNibName:@"FlashCardViewController"  bundle:[NSBundle mainBundle]];

ただし、汎用のviewControllerの作成は機能します。

viewController = [[UIViewController alloc] initWithNibName:nil  bundle:nil];

ここに画像とタイトルを追加します。

viewController.title = @"Quiz";
viewController.tabBarItem.image = [UIImage imageNamed:@"magnifying-glass.png"];

NIBからロードした場合、アイコンを表示するにはどうすればよいですか?

4

2 に答える 2

1

tabBarItem.imageカスタム ビュー コントローラーのviewDidLoadメソッド内にセッターへの呼び出しを追加できます。

@implementation FlashCardViewController
//...
- (void)viewDidLoad {
    [super viewDidLoad];

    self.tabBarItem.image = [UIImage imageNamed:@"magnifying-glass.png"];
}
//...
@end

編集: OK、それはうまくいきませんでした。試す:

- (void)viewDidLoad {
    [super viewDidLoad];

    UIImage *image = [UIImage imageNamed:@"magnifying-glass.png"];
    self.tabBarItem = [[[UITabBarItem alloc] initWithTitle:@"string"
                                                     image:image
                                                       tag:0] autorelease];
}
于 2009-08-25T18:59:47.383 に答える
0

[NSBundle mainbundle] を FlashCardViewController init に渡すのはなぜですか? 通常は nil を渡すだけです - 実際の例のように...

于 2009-08-25T20:43:16.410 に答える