1

デバイスの向きが変更された場合を除いて、すべて正常に動作しているようです。変更されるたびに、次のメソッドが呼び出されます。

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
                                         duration:(NSTimeInterval)duration

問題は、デバイスを何回回転させても、メイン ビュー (self.view) のサイズが実際のサイズに変化しないことです。

2013-03-12 14:33:32.504 WBDEMO[888:907] {{0, 20}, {768, 1004}}
2013-03-12 14:33:33.929 WBDEMO[888:907] {{0, 0}, {748, 1024}}
2013-03-12 14:33:35.357 WBDEMO[888:907] {{0, 20}, {768, 1004}}
2013-03-12 14:33:36.009 WBDEMO[888:907] {{0, 0}, {748, 1024}}

ポートレート モードではサイズは {768, 1004} である必要があり、ランドスケープ モードではサイズは {1024, 748} である必要があります。

autoresizingMask を次のように設定してみました。

self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

しかし、それでもうまくいきません。助言がありますか?

ロギングのコード:

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
                                         duration:(NSTimeInterval)duration
{
    NSLog(@"%@", NSStringFromCGRect(self.view.frame));
}
4

0 に答える 0