Высота Navbar слишком мала после возвращения из альбомной ориентации - PullRequest
2 голосов
/ 08 февраля 2012

У меня есть приложение с панелью вкладок и панелью навигации.

Я загружаю на свой вид, который имеет меню из 3 видов. 1 пейзаж и 2 портрета.

Я выхожу в портретный режим, и навигационная панель идеальна.

view1

Я вхожу в свой ландшафтный вид, и он действует так, как я хочу.

view2

Когда я возвращаюсь к своему портретному виду, теперь навигационная панель становится маленькой.

view3

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

-(void) viewWillAppear:(BOOL)animated
{

NSLog(@" viewWillAppear ");
[super viewWillAppear:animated];
appDelegate = (iGeo2AppDelegate *)[[UIApplication sharedApplication] delegate];
_originalTransform = [[appDelegate tabBarController].view transform];
_originalBounds = [[appDelegate tabBarController].view bounds];
_originalCenter = [[appDelegate tabBarController].view center];

CGAffineTransform landscapeTransform = CGAffineTransformMakeRotation(degreesToRadian(90));
landscapeTransform = CGAffineTransformTranslate (landscapeTransform, +80.0, +80.0);

[self.tabBarController.view setTransform:landscapeTransform];

self.tabBarController.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

self.tabBarController.view.bounds  = CGRectMake(0.0, 0.0, 480.0, 320.0);
self.tabBarController.view.center  = CGPointMake (240.0, 160.0);
[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight;

}

Затем, когда я покидаю свой альбомный вид, этот код вызывается для сброса всего:

-(void) viewWillDisappear:(BOOL)animated
{
NSLog(@" viewWillDisappear ");

self.navigationController.navigationBarHidden = NO; 
[super viewWillDisappear:animated];
[[appDelegate tabBarController].view setTransform:_originalTransform];
[[appDelegate tabBarController].view setBounds:_originalBounds];
[[appDelegate tabBarController].view setCenter:_originalCenter];
[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationPortrait;

}

Кто-нибудь может посоветовать, что мне нужно сделать, чтобы сбросить панель навигации на нужную высоту?

Большое спасибо, -Кода

1 Ответ

2 голосов
/ 08 февраля 2012

У меня та же проблема со скрытыми панелями и пользовательскими кнопками. Это на самом деле не ответ, а обходной путь. Как упоминал Данипралея, вы должны скрывать их и показывать снова, и это работает. Возможно, Apple знает об этой проблеме, но они еще не решили ее.

Это не самое лучшее, но для меня это сработало ...

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