2010-10-02 4 views
0

Просто потому, что я не могу найти безопасный способ (в смысле, который может быть отклонен парнями Apple), чтобы настроить UITabbar, в частности UITabBarItem. Я пытаюсь найти решение. У меня есть основной вид, на котором я воссоздаю своего рода UITabBar, обычный вид с двумя кнопками внутри. Это (примерно) текущая иерархия:Создайте UINavigationController программно

-MainView

--placeholder (UIView)

--fakeTab (UIView)

То, что я хочу сделать это, после нажатия кнопки в fakeTab, создайте UINavigationController и добавьте его в представление «placeholder», чтобы fakeTab остался на вершине, и вся навигация происходит на уровне заполнителя.

Я уже пробовал использовать этот кусок кода в методе, что он перехватывает кнопку нажатия, и он работает, я вижу, что ipvc.view добавлен в placeholder.

IPPlantsViewController *ipvc = [[IPPlantsViewController alloc] initWithNibName:@"IPPlantsView" bundle:[NSBundle mainBundle]]; 
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:ipvc]; 
UIView *placeholder = [self.view viewWithTag:200]; 
[placeholder addSubview:ipvc.view]; 

Но позже, когда я звоню внутри ipvc, то ничего не происходит:

IPAttributes *ipas = [[IPFactory findPlantByIndex:indexPath.row] attrs]; 
[self.navigationController pushViewController:ipa animated:YES]; 

Я надеюсь, что я ясно :-)

Thanks

ответ

0

Я нашел решение сам , То, что я делал неправильно, - это привязать вид контроллера ipvc к заполнителю. Вместо того, чтобы сделать это:

[placeholder addSubview:nav.view]; 

и все работает, как ожидалось, с моей поддельной TabBar полностью настроенную :-)

Но, как примечание стороны, то viewWillAppear, кажется, не быть не называли. Было бы интересно узнать почему. Я частично решил, сделав IPPlantsViewController делегатом UINavigationController.

Смежные вопросы