2009-03-02 11 views
5

私は風景モードを使用しているゲームを開発しています。合計4つのビューがあります。 2つのビューが適切に風景モードに入っています。しかし、3番目のビューで私はUITableとナビゲーションバーを持っています。私は風景モードでテーブルを回転することができますが、ナビゲーションバーとナビゲーションコントローラを変換することはできません。ナビゲーションバーとナビゲーションコントローラにもボタンがあります。それはまた変換されません。だから、誰もがこれについての解決策を持つことができます。 :)風景モードでナビゲーションバーとナビゲーションコントローラを変換する方法

答えて

2

nagvigationコントローラのナビゲーションバーを90度回転させて変換します。 また、ナビゲーションバーの中央とフレームを設定して、横幅のモードに合わせて適切な幅を設定する必要があるかもしれません。私のために働きました:) あなたも役に立ちます。 UIViewControllerのドキュメントのクラスで

1

:ローテーション

interfaceOrientationプロパティ
取り扱い

- shouldAutorotateToInterfaceOrientation:
- rotatingFooterView
- rotatingHeaderView
- willRotateToInterfaceOrientation:期間:
- willAnimateFirstHalfOfRotationToInterをfaceOrientation:期間:
- willAnimateSecondHalfOfRotationFromInterfaceOrientation:期間:
- didRotateFromInterfaceOrientation:

が、これはあまりにも役立ちます願っています。

A.

+0

それはいくつかのコンテキストのために – Jyotsna

7
#define degreesToRadians(x) (M_PI * x/180.0) 

- (void)viewWillAppear:(BOOL)animated 
{ 

    [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight]; 

    CGRect newBounds = CGRectMake(0, 0, 480, 320); 
    self.navigationController.view.bounds = newBounds; 
    self.navigationController.view.center = CGPointMake(newBounds.size.height/2.0, newBounds.size.width/2.0); 

    self.navigationController.view.transform = CGAffineTransformMakeRotation(degreesToRadians(90)); 

    [super viewWillAppear:animated]; 
} 

- (void)viewWillDisappear:(BOOL)animated 
{ 
    self.navigationController.view.transform = CGAffineTransformIdentity; 
    self.navigationController.view.transform = CGAffineTransformMakeRotation(degreesToRadians(0)); 
    self.navigationController.view.bounds = CGRectMake(0.0, 0.0, 320.0, 480.0); 

    [super viewWillDisappear:animated]; 
} 
+0

を働くあなたの答えをいただき、ありがとうございます。実際の甘いソースは、ナビゲーションコントローラのビュー自体を変えています。 – avelis

関連する問題