1

最初に3つのボタンでメインビューを持つアプリを構築しようとしています。ユーザーがこれらのボタンのいずれかのボタンを押すと、タブバービューが選択されたタブバーアイテムで表示されます。

私の問題はここにあります.タブバービューが表示されるべきとき...それは空に見えます!!

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.

    MainMenuViewController *mainMenuViewController = [[[MainMenuViewController alloc] initWithNibName:@"MainMenuViewController" bundle:nil] autorelease];
    self.navigationController = [[[UINavigationController alloc] initWithRootViewController:mainMenuViewController] autorelease];
    self.window.rootViewController = self.navigationController;
    [self.window makeKeyAndVisible];
    return YES;
}

//メイン メニュー ビューのボタン アクション -

 (IBAction)button1Action:(id)sender {
        TabbarViewController *tempView = [[TabbarViewController alloc] initWithNibName:@"TabbarViewController" bundle:nil];
        [self.navigationController pushViewController:tempView animated:YES];
        [tempView release];
    }

ここに画像の説明を入力

4

1 に答える 1

0

TabbarViewController の viewControllers プロパティを設定する必要があります (もちろん、それが UITabBarController のスーパークラスである場合)。TabbarViewController の init メソッドで 3 つの viewController を作成し、それらを配列に追加して、次のように viewControllers プロパティとして設定します。

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        NSLog(@"%@",[[self class] superclass]);

        UIViewController *yourFirstViewController = [[UIViewController alloc] init];
        UIViewController *yourSecondViewController = [[UIViewController alloc] init];
        UIViewController *yourThirdViewController = [[UIViewController alloc] init];

        yourFirstViewController.title = @"First";
        yourSecondViewController.title = @"Second";
        yourThirdViewController.title = @"Third";

        NSArray *threeViewControllers = [[NSArray alloc]initWithObjects:yourFirstViewController, yourSecondViewController, yourThirdViewController, nil];

        self.viewControllers = threeViewControllers;

        // Custom initialization
    }
    return self;
}
于 2012-09-07T10:02:08.493 に答える