Панель вкладок Элементы не отображаются должным образом - PullRequest
0 голосов
/ 16 сентября 2011

Picture

На рисунке 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, когда я загружаю его, как и любой другой вид? Это приложение для iPhone с использованием xcode 4.

1 Ответ

0 голосов
/ 16 сентября 2011

Итак, проблема в том, что 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];

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...