3

UIScrollView を含む UIView があります。どちらも正確に 768x1004 ピクセルのサイズで、iPad の画面に正しく収まります。

iPad の向きが横向きモードに変更されると、ビューの自動サイズ変更が 1044x728 ピクセルに変更され、正しい比率ではなく、奇妙な動作が発生します。

これは、私が iOS 6 で作業していて、iPad がランドスケープ モードで起動したときにのみ発生します。

古いバージョンでは問題はなく、iPad を縦向きモードで起動すると、機能は正常に動作します。

正常に動作させるには、初期サイズを 748x1044 に変更する必要がありますが、それ以外の場合、アプリケーションのサイズが正しくありません。

私の結論は、iOS 6 で iPad がランドスケープ モードで起動すると、xib で以前に構成したサイズが変更される何らかのメカニズムまたはバグがある可能性があるということです。

何か案は?

4

1 に答える 1

3

私はあなたの問題を解決するための正確なコードを与えることができません。このようなサイズの問題をデバッグするために使用する方法は、重要なことが起こったときに最も外側のビューのフレームをログアウトすることです。

例えば

- (void) viewDidLoad {
 //.. etc
 NSLog(@"viewDidLoad: %@", CGRectCreateDictionaryRepresentation(self.view.frame) );
}

- (void) viewDidLayoutSubviews {
 //.. etc
 NSLog(@"viewDidLayoutSubviews: %@", CGRectCreateDictionaryRepresentation(self.view.frame) );
}

 - (void) viewDidAppear {
 //.. etc
 NSLog(@"viewDidAppear: %@", CGRectCreateDictionaryRepresentation(self.view.frame) );
}

通常、ログを見ると、何がどこで問題になっているのかがわかります。

于 2012-09-17T16:07:30.407 に答える