3

ではUITabBarController、タブを選択すると、そのタブUIViewControllerが変更されます (新しいビューコントローラーを割り当てます)。私はこれを試しています-

NSMutableArray *tabBarViewControllers = [myUITabBarController.viewControllers mutableCopy];
[tabbarViewControllers replaceObjectAtIndex:0 withObject:[[myViewcontroller1 alloc] init]];
[myUITabBarController setViewControllers:tabbarViewControllers];

しかし、それはエラーを出します。新しいものを割り当ててUIViewControllerすぐに更新する方法は?

4

3 に答える 3

2

このコードを参照してください。ナビゲーション付きの 2 つのタブバーがあります。AppDelegate.hで宣言してください

    UINavigationController *nav1;
    UINavigationController *nav2;
    UITabBarController *tab;

に、に追加Appdelegate.mしてdidFinishLaunchingWithOptionsください:-

    tab = [[UITabBarController alloc]init];

    ViewController *view1 = [[ViewController alloc]init];

    nav1= [[UINavigationController alloc]initWithRootViewController:view1];    
    UITabBarItem *tab1 = [[UITabBarItem alloc]initWithTitle:@"Add" image:[UIImage imageNamed:@"Plus.png"] tag:1];
    view1.title = @"Add";
    [view1 setTabBarItem:tab1];

    SettingsViewController *view2 = [[SettingsViewController alloc]init];

    nav2= [[UINavigationController alloc]initWithRootViewController:view2];
    UITabBarItem *tab2 = [[UITabBarItem alloc]initWithTitle:@"Setting" image:[UIImage imageNamed:@"settings.png"] tag:2];
    view2.title = @"Setting";
    [view2 setTabBarItem:tab2];

    tab.viewControllers = [NSArray arrayWithObjects:nav1,nav2,nil];

    self.window.backgroundColor = [UIColor whiteColor];
    self.window.rootViewController = tab;

さらに実装するには、このリンクも確認してください...これが役立つことを願っています:)

ビューコントローラーを変更するUItabBar

于 2012-10-23T05:54:14.080 に答える
0

の中にAppDelegate.h

UIViewController *vc1;
UIViewController *vc2;
UIViewController *vc3;

の中にAppdelegate.m

の中にdidFinishLaunchingWithOptions

NSMutableArray *listOfViewControllers = [[NSMutableArray alloc] init];

vc1 = [[UIViewController alloc] init];
vc1.title = @"A";
[listOfViewControllers addObject:vc1];

vc2 = [[UIViewController alloc] init];
vc2.title = @"B";
[listOfViewControllers addObject:vc2];

vc3 = [[UIViewController alloc] init];
vc3.title = @"C";
[listOfViewControllers addObject:vc3];

[self.tabBarController setViewControllers:listOfViewControllers
                                 animated:YES];
于 2012-10-23T07:17:44.770 に答える