0

Когда мое приложение запускается, оно отображает навигационное представление с таблицей и таблицей внизу.Изменение UITabBar во время навигации в iOS

Что-то вроде этого:

TabBar --> UINav1, UINav2, UINav3, UINav4 

Каждый UINav содержит ViewController, который в конечном итоге отображается.

Что я хочу сделать, это изменить UITabBar, если пользователь переместится из списка ListView (Основной экран) в подробный вид.

Мне не нужно менять всю панель, чтобы изменить или удалить кнопки.

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

Быстро стучал головой, как день, пытаясь понять это.

Спасибо!

ответ

0

При проведении дальнейших исследований было принято решение о том, что это делать не представляется возможным.

0

Вы можете использовать

- (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated 

в вашем UITabBarController установить TabBar любой ViewController вы хотите

EDIT: Вы можете wan't посмотреть на этот вопрос желания, кажется, очень похожи iPhone, how I hide a tab bar button?

+0

ebany, я работаю, чтобы получить ответ для скрытой кнопки панели вкладок в качестве обходного пути к вопросу, который вы мне помогли вчера. Но мне не удалось получить либо работу :( – Jules

+0

Проблема с setViewControllers заключается в том, что вы меняете состояние одного глобального контроллера, так что даже если вы вернетесь (через nav), он изменится. – Maverick

0

Это не очень распространено, но вы можете представить новый контроллер панели вкладок вместе со своим соответствующим видом (ами).

Предполагая, что ваш listView является UITableViewController, вы можете нажать новый контроллер панели вкладок в свой метод didSelectRowAtIndexpath.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
// ... 
[self.tabBarController presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated] 

PS: Я был бы очень осторожен с тем, как вы структурировать свой пользовательский интерфейс в этом случае он может получить довольно запутанным для пользователя).

Надеюсь, это поможет. Rog

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