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 関数はどこで呼び出す必要がありますか?