#iphone #uinavigationcontroller #uitabbarcontroller #uitabbaritem
#iPhone #uinavigationcontroller #uitabbarcontroller #uitabbaritem
Вопрос:
Я искал и искал, но пока все еще не могу разобраться с этой проблемой ole! 🙁
У меня в моем main.xib есть TabBarController, который настроен с пятью ViewControllers.
Я пытаюсь сделать так, чтобы первый viewcontroller был навигационным контроллером, чтобы, если выбрана первая вкладка, я мог нажимать и выводить виды на экран.
Но, хоть убейте, я не могу заставить это работать?
Я попробовал это в моем методе делегирования didLaunch приложения:
UITabBarController *tabBarController = [[UITabBarController alloc] init];
tabBarController.delegate=self;
FirstViewController *first = [[FirstViewController alloc] initWithNibName:@"FirstView" bundle:[NSBundle mainBundle]];
UINavigationController *firstNav = [[UINavigationController alloc] initWithRootViewController:first];
NSArray* controllers = [NSArray arrayWithObjects:firstNav, nil];
tabBarController.viewControllers = controllers;
[window addSubview:tabBarController.view];
для чего я вижу, что отображается мой вид, но на панели вкладок не отображаются кнопки?
Какой-нибудь совет, пожалуйста?? спасибо
Ответ №1:
Для этого вам необходимо программно добавить контроллеры просмотра в панель вкладок. Как показано ниже:
oFirstViewController.title = @"First View";
oFirstViewController.tabBarItem.image = [UIImage imageNamed:@"ico.png"];
UINavigationController *myNavigationController1 = [[UINavigationController alloc] initWithRootViewController:oFirstViewController];
tabBarController.viewControllers = [NSArray arrayWithObjects:myNavigationController1, myNavigationController2, myNavigationController3, myNavigationController4, nil];
Таким образом, вам нужно добавить оставшийся view-controller к вашему контроллеру tabbar.
Надеюсь, это будет полезно для вас.
Дайте мне знать в случае возникновения каких-либо трудностей.
Комментарии:
1. ча-чинг! спасибо, приятель 😉 Также спасибо всем, кто откликнулся, ценю это 😉
Ответ №2:
Ваш TabBarController содержит только один ViewController. Таким образом, в TabBarController будет доступен только один элемент TabBarItem. Поскольку доступен только один ViewController, этот TabBarItem будет выбран по умолчанию, и вы не сможете изменить выбор. Таким образом, вы не чувствуете, что есть кнопка. Но оно есть. Вы можете задать заголовок и изображение для ViewController, и вы увидите разницу.
first.title = @"firstTab";
first.navigationItem.image = [UIImage imageNamed:@"firstTab.png"];
Ответ №3:
Ниже приведена ссылка, объясняющая, как настроить контроллер панели вкладок и контроллер навигации
Ссылка 1
Надеюсь, это поможет вам……
Ответ №4:
[first.tabBarItem initWithTitle:@"First" image:[UIImage imageNamed:@"first.png"] tag:0];