Chcę programowo ustawić kontroler paska kart i kontroler nawigacyjny. Mój kod działa tak daleko, że pokazuje pasek kart na dole, ale OptionViewController nic nie mówi (bez tytułu) na przycisku drugiego paska kart. Zabawne jest to, że gdy klikam przycisk bez niczego na nim, pojawia się tytuł (i taki jest jego pogląd), czy ktoś może mi wyjaśnić, co robię źle? Próbowałem użyć następującego kodu:Programowanie programowania TabBarController
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[self.window makeKeyAndVisible];
NSMutableArray *tabItems = [[NSMutableArray alloc] initWithCapacity:2];
DefaultViewController *dvc = [[DefaultViewController alloc] init];
UINavigationController *dvc_nc = [[UINavigationController alloc] initWithRootViewController:dvc];
[tabItems addObject:dvc_nc];
[dvc release];
[dvc_nc release];
OptionsViewController *ovc = [[OptionsViewController alloc] initWithStyle:UITableViewStyleGrouped];
UINavigationController *ovc_nc = [[UINavigationController alloc] initWithRootViewController:ovc];
[tabItems addObject:ovc_nc];
[ovc release];
[ovc_nc release];
UITabBarController *tbc = [[UITabBarController alloc] init];
tbc.viewControllers = tabItems;
self.tabController = tbc;
[tabItems release];
[tbc release];
[self.window addSubview:self.tabController.view];
return YES;
}
Chyba trzeba dodać UINavigationController jako widok w sub Kontroler Tab Bar z kontrolującymi klasami super klasy jako UINavigationController –
problemem jest tylko brakujący tytuł, prawda? gdzie ustawiasz 'title' swojego' OptionsViewConbtroller'? Jeśli ustawiasz tytuł nie w swojej "init" -metodzie, to TabBarController odczytuje tylko pusty tytuł z OptionsVC. Domyślam się, że ustawiasz własności tytułu w czymś. jak 'viewDidLoad'? – thomas
Nie sądzę, ponieważ: [tbc.view addSubview: ovc_nc.view]; sprawia, że ekran jest całkowicie pusty! – Mark