デバイスの向きが変更された場合を除いて、すべて正常に動作しているようです。変更されるたびに、次のメソッドが呼び出されます。
- (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));
}