私はこの問題に関して多くの質問があることを認識していますが、私の問題を解決するものは見つかりませんでした。iPad/iPhoneオリエンテーションの問題
開始するには、私は私のmenu.h向きと
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES; }
ステータスバーの変更を、このコードを設定しているが、ビューが回転したり、サイズ変更されていません。私の問題を絞り込むしようとするためには、私はiOSのシミュレータでオリエンテーション
- (void)viewDidLoad {
[super viewDidLoad];
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:@"UIDeviceOrientationDidChangeNotification" object:nil];
}
-(void) orientationChanged:(NSNotification *)object
{
UIDeviceOrientation deviceOrientation = [[object object] orientation];
if (deviceOrientation == UIDeviceOrientationLandscapeLeft || deviceOrientation == UIDeviceOrientationLandscapeRight)
{
self.view = self.landscapeView;
}
else
{
self.view = self.portraitView;
}
}
に基づいて1 .xib内の2つのビューを切り替えるにしようとすることを決めた、ビューは間違いなく、特定のビューに変更します。しかし、風景写真は肖像画と横向きのように見えます。
向き変更後のiOSシミュレータで私の風景ビュー
IB の私の風景ビュー
私がここで間違って何をしているのですか?私はそれを理解することはできません、どんな助けも大いに感謝されるでしょう。前もって感謝します。 **編集:新しいコードの下に** 私の問題は、ビューが横向きで正しくロードされ、横向きです。そのため、横向きのビューが読み込まれます。 @Seegaに基づいて私の改訂版のコードは次のとおりです。
すべての[[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];を削除します。[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged :) name:@ "UIDeviceOrientationDidChangeNotification"オブジェクト:nil]; '完全な' - (void)orientationChanged :(NSNotification *)オブジェクトの関数です。 UIInterfaceOrientationLandscapeLeftとUIInterfaceOrientationLandscapeRightを使用する 機能が期待どおりに機能するかどうかを確認するだけで、別のUIViewを設定する代わりにifステートメントの色を変更するだけで追加できます。 – Seega
私の最後には運がありません。説明どおりに設定して、orientationChanged関数内にブレークポイントを入力しましたが、それはまったく呼び出されていません。 –
気をつけてくださいorientationChanged:あなたはそれを必要としません!!!! 単に使用 ' - (ボイド)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation時間:(NSTimeInterval)期間 {IF(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {self.view = self.landscapeView。 } else { self.view = self.portraitView; } } ' – Seega