Скрыть UITabBar при изменении ориентации - PullRequest
7 голосов
/ 24 июня 2009

У меня довольно простой вопрос, но ответ не так прост.

Я хочу скрыть UITabBar при изменении ориентации.

Я посмотрел 2 способа:

Рамочный способ

myAppDelegate.tabBarController.tabBar.frame = CGRectMake(<<bottomOfScreen>>);

Работает нормально, но у меня пустая область, поэтому я попытался поиграть с tabBarController.view.frame и myViewController.view.frame, но хорошего результата не получилось.

Путь к навигационному контроллеру

myOtherVC.hideTabBarWhenPushed = YES;
[self.navigationController pushViewController:myOtherVC animated:NO];

Работает, но не подходит для моего приложения

Обновление:

[appDelegate.tabBarController.view removeFromSuperview];
[self.view removeFromSuperview]; [appDelegate.window addSubview:self.view];
self.view.frame = CGRectMake(0,0,480,320);

Работает нормально, но больше не запускается автоматически (и, конечно, я не изменил mustAutorotate, и он всегда возвращает YES)


Как я могу скрыть свой tabBar и сделать текущий вид занимающим его место?


Спасибо

Ответы [ 2 ]

3 голосов
/ 20 июля 2009

Вы можете использовать текущее решение в сочетании с:

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didRotate:) name:@"UIDeviceOrientationDidChangeNotification" object:nil];

для обнаружения вращения. (Я думаю, что вы комбинируете это с view.transform = CGAffineTransformMakeRotation, чтобы заставить его вращаться ...?)

0 голосов
/ 24 июня 2009

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

  1. для перезагрузки объектов обратно в контроллер tabBar - для hidesBottomBarWhenPressed установлено значение YES для контроллеров представления, которые вы хотите скрыть.
  2. Другой вариант - сделать ваш вид единственным видом для окна при повороте телефона, а затем вернуть вкладку tabBarController.view в окно при повороте телефона назад

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

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