2009-09-25 3 views
1

Я ставлю мое приложение, как так (в applicationDidFinishLaunching):iphone-Дев: TabBarItem помощь

mytable = [[[MyTableController alloc] initWithStyle:UITableViewStylePlain] retain]; 

UINavigationController *mynav = [[[UINavigationController alloc]initWithRootViewController:mytable] autorelease]; 

[mynav.view setFrame:CGRectMake(0,0,320,460)]; 

UIViewController *tab1 = [[tabBarController viewControllers] objectAtIndex:0]; 

[mytable setTitle:@"Chronological"]; 

mytable.navigationController = mynav; 

[tab1.view addSubview:mynav.view]; 

[window addSubview:tab1.view]; 

где MyTableController расширяет UITableController и имеет свойство навигации контроллера. tabBarController - это выход через основной файл nib. Других файлов nib нет.

Теперь я не могу добавить никаких кнопок в контроллер навигации. Все, что я делаю, игнорируется. Что я здесь делаю неправильно?

+0

'[[[MyTableController Alloc] initWithStyle: UITableViewStylePlain] сохранить]': Alloc уже делает сохранить. вы слишком много удерживаете – user102008

ответ

0

Можете указать код, где вы указывали UITabBarControllertabBarController? Я предполагаю, что вы неправильно устанавливаете свойство viewControllers. Используйте UITabBarController -setViewControllers:animated: с массивом контроллеров представления для инициализации контроллера панели вкладок.

Попробуйте что-то вроде этого:

mytable = [[MyTableController alloc] initWithStyle:UITableViewStylePlain]; 
UINavigationController *mynav = [[UINavigationController alloc] initWithRootViewController:mytable]; 
[tabBarController setViewControllers:[NSArray arrayWithObject:mynav] animated:NO]; 
[mynav release]; 
[mytable release]; 
[tabBarController viewWillAppear:NO]; 
[window addSubview:[tabBarController view]]; 
[tabBarController viewDidAppear:NO]; 
Смежные вопросы