У меня есть приложение с панелью вкладок и панелью навигации.
Я загружаю на свой вид, который имеет меню из 3 видов. 1 пейзаж и 2 портрета.
Я выхожу в портретный режим, и навигационная панель идеальна.
Я вхожу в свой ландшафтный вид, и он действует так, как я хочу.
Когда я возвращаюсь к своему портретному виду, теперь навигационная панель становится маленькой.
Когда я вхожу в альбомную ориентацию, этот код вызывается:
-(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;
}
Кто-нибудь может посоветовать, что мне нужно сделать, чтобы сбросить панель навигации на нужную высоту?
Большое спасибо,
-Кода