#ios4 #uinavigationcontroller #xcode4 #uitabbarcontroller
#ios4 #uinavigationcontroller #xcode4 #uitabbarcontroller
Вопрос:
У меня есть навигационный контроллер в качестве корневого контроллера представления. У меня есть UIView, затем UITableView, затем снова UITableView, затем TabbarView, и каждый из моих tabbarview представляет собой иерархию представлений. Теперь моя проблема в том, что я могу получить значение self.navigationcontroller до последнего UITableView, но значение становится нулевым в TabbarView. Теперь есть ли способ, которым я могу получить доступ к значению в Tabbarview. Должен ли я создавать новый навигационный контроллер для каждой вкладки в tabbarview, а затем присваивать ему значение корневого навигационного контроллера?
Приведенный ниже код не работает, последний контроллер, где я могу получить значение NavigationController, — это AssignmentViewController.
Код из AssignmentViewController:
- (void)viewDidLoad {
UITransTabViewController *transtvController = [[UITransTabViewController alloc] initWithNibName:@"TransTabViewController" bundle:nil];
self.transtabViewController = transtvController;
transtvController.naviController=self.navigationController;
[transtvController release];
}
В моем UITranTabViewController.h У меня есть приведенный ниже код,
@interface UITransTabViewController : UIViewController <UITabBarDelegate> {
NSArray *viewControllers;
IBOutlet UITabBar *tabBar;
IBOutlet UITabBarItem *arrivalsTabBarItem;
IBOutlet UITabBarItem *departuresTabBarItem;
UIViewController *selectedViewController;
UINavigationController *naviController;
}
@property (nonatomic, retain) NSArray *viewControllers;
@property (nonatomic, retain) IBOutlet UITabBar *tabBar;
@property (nonatomic, retain) IBOutlet UITabBarItem *arrivalsTabBarItem;
@property (nonatomic, retain) IBOutlet UITabBarItem *departuresTabBarItem;
@property (nonatomic, retain) UIViewController *selectedViewController;
@property (nonatomic, retain) IBOutlet UINavigationController *naviController;
Я пытаюсь установить значение naviController из AssignmentViewController, но все равно получаю
NSLog(@"MY NAV CONTROLLER IN TRANSTABVIEWCONTROLLER IS = %@", self.naviController);
значение равно НУЛЮ.
Комментарии:
1. Мой ответ был неправильным, поскольку я предположил, что он вызывался с одного из контроллеров представления в контроллере панели вкладок.
2. Вы уверены, что присваивается правильное значение?
3. Я пытаюсь вывести значение на консоль, и оно выводит его нормально, но я получаю значение null, если пытаюсь вывести его из TransTabViewController. Поэтому я предполагаю, что оно не назначается должным образом. Можете ли вы помочь мне с этим?
4. Как вы загружаетесь
transtvController
? Вы вводите его в навигационный контроллер или вы вводите его модально?5. Я помещаю его в навигационный контроллер. Ниже приведен мой код для этого, [self.NavigationController pushViewController: анимированный self.transtabViewController: ДА];