2010-11-16 6 views
0

Я пишу приложение iphone, которое имеет 3 вкладки. Первые два - UITableViews, но третья вкладка я хочу быть UINavigationController, потому что она будет использоваться для редактирования списка рецептов.Попытка разместить UINavigationController как одну из вкладок внутри UITabBarController

Я пробовал все комбинации наконечников я мог думать, чтобы получить эту работу должным образом, но у меня возникают такие проблемы, как:

  • после нажатия на вкладке редактирования, а затем нажмите кнопку назад на другие вкладки , на дисплее по-прежнему отображаются части вкладки редактирования, такие как панель навигации
  • , когда вы нажимаете на вкладку редактирования, вы можете видеть пустой контроллер навигации без содержимого или заголовка, хотя мой навигационный контроллер внутри вкладок имеет ' имя ножа »и« класс », установленный в инспекторе

Я просто хотел бы узнать, как лучше всего это сделать: помещать редактор (который, я думаю, должен быть навигационным контроллером?) Внутри вкладки. Есть что-то вопиющее, что мне не хватает?

Большое спасибо ребята

ответ

0

ОК, я решил. В любом случае, я был на правильном пути.

В моем главном окне теперь есть контроллер панели вкладок. Одна из вкладок имеет имя и класс nib для моего представления с навигацией.

На мой взгляд с навигацией, в nib у меня есть пустой вид и контроллер навигации. В файле реализации у меня есть следующий код для присоединения навигационного контроллера к пустому виду, и теперь он работает хорошо!

- (void)viewDidLoad { 
    [super viewDidLoad];  
    [[self view] addSubview:navController.view]; // This is the important line 
} 
1

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

Если вы хотите навигационный контроллер только для одной точки зрения, что нужно, чтобы скрыть его переключения вкладок

 
self.navigationController.navigationBarHidden = YES; or NO 

И так как я не использую IB (это черный ящик) я бы рекомендовал вам выделить все (название, кнопки и т. д.) о контроллере навигации вручную. Отлично работает, и вы видите, что сделали.

+0

Итак, вы говорите, что я должен иметь контроллер навигации в качестве основного контроллера и поместить в него контроллер табуляции, а также включить или отключить панель навигации в зависимости от выбранной вкладки? – Chris

+0

Мне нравится, что вы говорите об IB - это действительно тайна. – Chris

+0

Да .. у вас может получиться так: основной корневой контроллер будет контроллером навигации, но вы сначала спрятали его. Затем, если вы выберете вкладку с функцией редактирования, вы увидите ее и обратно – Vanya

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