Не удается отобразить мой uitabbar при его программной настройке - PullRequest
0 голосов
/ 20 июля 2011

Так что я искал повсюду примеры того, как програматически создать uitabbar. Я изо всех сил старался извлечь из каждого примера то, что мне нужно, и собрать то, как я хочу, чтобы мое приложение выглядело: экран приветствия после вкладки с двумя вкладками.

У меня есть контроллер вида для экрана приветствия с кнопкой UIB, чтобы двигаться дальше:

-(IBAction)aMethod:(id)sender {

    MyTabProjectViewController *controller = [[MyTabProjectViewController alloc] initWithNibName:nil bundle:nil];
    controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentModalViewController:controller animated:YES];
    }

Then in my MyTabProjectViewController.m I do this:


    - (void)viewDidLoad
    {
        [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    //Setting up the view
    UIView *contentView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    contentView.backgroundColor = [UIColor whiteColor];
    self.view = contentView;    

    //Declaring all view controllers
    FirstView *first = [[FirstView alloc] init];
    SecondView *second = [[SecondView alloc] init];

    //Set titles for the view controllers
    first.title = @"First";
    second.title = @"Second";


    UITabBarController *tabBarController = [[UITabBarController alloc] init];
    tabBarController.view.frame = CGRectMake(0, 0, 320, 460);


    UINavigationController *nvc1 = [[UINavigationController alloc] initWithRootViewController:first];
    UINavigationController *nvc2 = [[UINavigationController alloc] initWithRootViewController:second];

    nvc1.navigationBar.barStyle = UIBarStyleBlack;
    nvc2.navigationBar.barStyle = UIBarStyleBlack;


    NSArray *controllers = [[NSArray alloc] initWithObjects:nvc1, nvc2, nil];

    self.tabBarController.viewControllers = controllers;

    [self.view addSubview:tabBarController.view];    
    }

По какой-то причине ничего не работает. Когда я нажимаю на кнопку, чтобы перейти к MyTabProjectViewController, я вижу пустую страницу.

Ответы [ 2 ]

0 голосов
/ 28 декабря 2011

Вы создаете экземпляр нового экземпляра UITabBarController и устанавливаете список ViewControllers на другой экземпляр, просто замените строку:

self.tabBarController.viewControllers = controllers;

со строкой:

tabBarController.viewControllers = controllers;
0 голосов
/ 28 декабря 2011

попробуйте добавить

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