Изменение UITabBar во время навигации в iOS - PullRequest
0 голосов
/ 17 ноября 2010

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

Примерно так:

TabBar --> UINav1, UINav2, UINav3, UINav4

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

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

Мне не нужно менять всю панель вкладок, по крайней мере, менять / удалять кнопки.

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

Я бился головой, словно целый день, пытаясь понять это.

Спасибо!

Ответы [ 3 ]

0 голосов
/ 17 ноября 2010

Это не очень часто, но вы можете представить новый контроллер панели вкладок вместе со связанными представлениями модально.

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

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

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

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

0 голосов
/ 04 декабря 2010

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

0 голосов
/ 17 ноября 2010

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

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

в вашем UITabBarController, чтобы установить tabBar независимо от желаемого viewController. айфон, как скрыть кнопку панели вкладок?

...