奇妙な行動だと思うものに遭遇しました。誰かがこれを明確にできるといいですね。
viewDidLoad では、最初にこのように UIView 境界の高さと幅を出力します
-(void) viewDidLoad
{
NSLog(@"WxH = %fx%f", self.view.bounds.size.width,self.view.bounds.size.height);
}
これは次を印刷します: WxH = 320.000000x548.000000
ここで、ビュー コントローラーを横向きに回転させてから縦向きに戻し、同じ高さと幅で印刷するとします。このような:
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)x
duration:(NSTimeInterval)duration
{
// If the orientation is rotating to Portrait mode...
if (UIInterfaceOrientationIsPortrait(x))
{
NSLog(@"WxH = %fx%f", self.view.bounds.size.width,self.view.bounds.size.height);
}
else // If the orientation is rotating to Landscape mode
{
}
}
この後、回転するたびに、上記のメソッドが印刷WxH = 320.000000x460.000000
されます (最初に 548 を印刷したときと同じようにポートレート モードであっても) 高さが 460 に変更されたのはなぜですか? (その後ずっとこのまま)