Скрытие панели вкладок при нажатии на представление - PullRequest
0 голосов
/ 31 августа 2011

долгое время читатель, впервые asker-er?

Итак, в основном, у меня есть приложение панели вкладок с контроллером навигации для каждой вкладки (каждая из них имеет несколько уровней просмотра).панель вкладок, когда мне нужно использовать этот код:

MyViewController *myVC = [[MyViewController alloc]initWithNibName:@"MyViewController" bundle:nil];

myVC.hidesBottomBarWhenPushed = YES;

[self.navigationController pushViewController:myVC animated:YES];

[myVC release];

Это работает нормально, однако на одной из моих вкладок я не создал контроллер навигации в IB, а вместо этого программно

Здеськод для программного создания контроллера навигации:

UINavigationController * navigationController = [[[UINavigationController alloc] init] autorelease];

self.segmentsController = [[SegmentsController alloc] initWithNavigationController:navigationController viewControllers:viewControllers];

self.segmentedControl = [[UISegmentedControl alloc] initWithItems:[viewControllers arrayByPerformingSelector:@selector(title)]];
    self.segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;

[self.segmentedControl addTarget:self.segmentsController
                              action:@selector(indexDidChangeForSegmentedControl:)
                    forControlEvents:UIControlEventValueChanged];

[self.view addSubview:navigationController.view];

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

Спасибо за любые отзывы заранее!

Редактировать: Как «новый пользователь» я не могу представить изображение, чтобы помочь визуализировать проблему, цифры.Ну что ж, надеюсь, то, что здесь происходит, не слишком размыто для вас, ребята.

1 Ответ

1 голос
/ 31 августа 2011

Трудно получить именно то, что вы пытаетесь достичь с помощью кода, который вы дали (и без снимка экрана!), Но похоже, что проблема может быть в том, что вы просто добавляете представление контроллера Nav напрямую в качестве подпредставления, вместо добавления контроллера nav в иерархию контроллера представления.

Так, а не

[self.view addSubview:navigationController.view];

использование

[self.navigationController pushViewController: navigationController animated: NO];

Это, конечно, будет означать, что ваш контроллер представления должен находиться в стеке контроллера навигации (хотя вы всегда можете скрыть панель навигации, чтобы визуально она выглядела одинаково)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...