iOS5 iPadでアプリをプログラミングしています。
カスタム ビューのロードが終了したら、viewDidLoad で、次のようなプログラム ビューにアスペクトを設定する関数を呼び出します。
スイッチ (interfaceOrientation) { case UIDeviceOrientationPortrait: { // self.view.bounds.size.height を使用して 3 つのビューのサイズを設定します // と self.view.bounds.size.width 壊す; } case UIDeviceOrientationPortraitUpsideDown: { // self.view.bounds.size.height を使用して 3 つのビューのサイズを設定します // と self.view.bounds.size.width 壊す; } ケース UIDeviceOrientationLandscapeLeft: { // self.view.bounds.size.height を使用して 3 つのビューのサイズを設定します // と self.view.bounds.size.width 壊す; } ケース UIDeviceOrientationLandscapeRight: { // self.view.bounds.size.height を使用して 3 つのビューのサイズを設定します // と self.view.bounds.size.width 壊す; } デフォルト: 壊す; }
そして、shouldAutorotateToInterfaceOrientation でその関数を呼び出します。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation が必要です { [self setAspect:アスペクト]; はいを返します。 }
アプリを回転すると、ビューが正しい位置に配置されますが、アプリを起動すると、iPad がランドスケープになっていると正しく動作しません。肖像画のサイズを取ります。デバイスを回転させれば問題は解決しますが、私のアプリではその問題が気に入りません。
なぜこれが起こっているのかわかりません.viewdidloadの呼び出しアスペクトが早すぎると読んだことがあります。setAspect 関数はどこで呼び出す必要がありますか?