マスク付きのparentViewController
コンテナ(柔軟な幅と高さ)が含まれています。コンテナーの幅はビューの ~80% です。デバイスを回転させると、「間違った」サイズで呼び出されます。ビューサイズを取得します。customViewController
autoresizing
parentViewController
viewWillTransitionToSize:withTransitionCoordinator:
parentsViewController
ここにの一部ですcustomViewController
-(void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
{
NSLog(@"viewWillTransitionToSize %@", NSStringFromCGSize(size));
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
[self resizeViewToWidth:size.width];
[self performSelector:@selector(didRotate) withObject:nil afterDelay:1.0];
}
-(void)didRotate
{
NSLog(@"didRotate %@", NSStringFromCGSize(self.view.frame.size));
}
//it creates this log
//viewWillTransitionToSize {667, 331}
//didRotate {617, 311} //this is correct size after applying autoresizing masks
少なくとも 2 つの異なるサイズが表示されているのに、一度しか呼び出されないのはなぜですか? マスクの自動サイズ変更でできるのであれば、ビューサイズを計算したくありません。
最初に自動サイズ変更マスクを適用し、適用後にサイズを取得するにはどうすればよいですか?
自動サイズ変更マスクviewWillTransitionToSize
を使用する際の正しい使用方法は何ですか?