图1显示了在应用程序启动时加载的动态创建的选项卡栏控制器:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
autoMagically = [[AutoMagically alloc] initWithNibName:nil bundle:nil];
[self.window addSubview:autoMagically.view];
[self.window makeKeyAndVisible];
return YES;
}
如果我通过单击视图上的按钮(我想要的方式并且需要这样做)加载它,我会得到上图中图2所示的内容:
-(void) loadWhenClicked{
AutoMagically *todaysDeal = [[AutoMagically alloc] initWithNibName:nil bundle:nil];
todaysDeal.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:todaysDeal animated:YES];
[todaysDeal release];
}
这是我创建标签栏的代码:
tabBarController = [[UITabBarController alloc] init];
FirstViewController* vc1 = [[FirstViewController alloc] init];
SecondViewController* vc2 = [[SecondViewController alloc] init];
vc1.title = @"Dallas";//[[NSUserDefaults standardUserDefaults] objectForKey:@"Citynamefrmhome"];
vc1.tabBarItem.image = [UIImage imageNamed:@"Dealss.png"];
vc2.title = @"My Vouchers";
vc2.tabBarItem.image = [UIImage imageNamed:@"nav_voucher_S.png"];
NSArray* controllers = [NSArray arrayWithObjects:vc1,vc2, nil];
tabBarController.viewControllers = controllers;
[self.view addSubview:tabBarController.view];
当我像其他任何视图一样加载它时,如何使标签栏控制器如图1所示正确显示? 这是一个使用xcode 4的基于iphone视图的应用程序。
答案 0 :(得分:0)
所以问题是UITabController是一个视图控制器,所以它并不是你想用addSubview添加到显示器的东西(因为它不是视图)。相反,修改你的代码来做到这一点,你会没事的:
UITabBarController *todaysDeal = [[UITabBarController alloc] init];
FirstViewController* vc1 = [[FirstViewController alloc] init];
SecondViewController* vc2 = [[SecondViewController alloc] init];
vc1.title = @"Dallas";//[[NSUserDefaults standardUserDefaults] objectForKey:@"Citynamefrmhome"];
vc1.tabBarItem.image = [UIImage imageNamed:@"Dealss.png"];
vc2.title = @"My Vouchers";
vc2.tabBarItem.image = [UIImage imageNamed:@"nav_voucher_S.png"];
NSArray* controllers = [NSArray arrayWithObjects:vc1,vc2, nil];
todaysDeal.viewControllers = controllers;
todaysDeal.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:todaysDeal animated:YES];
[todaysDeal release];
希望这有帮助。