0

ビューコントローラーのビューをペン先に表示したいのですが、次のコードに示すように、presentModalViewController:animated: を呼び出すと寸法が変更されます。

CGRect frame = viewController.view.frame;
NSLog(@"%f %f %f %f", frame.origin.x, frame.origin.y, frame.size.width, frame.size.height); 

[self presentModalViewController:viewController animated:YES];

frame = viewController.view.frame;
NSLog(@"%f %f %f %f", frame.origin.x, frame.origin.y, frame.size.width, frame.size.height);

出力:

0.000000 0.000000 297.000000 452.000000
0.000000 0.000000 540.000000 620.000000

この変化の原因は何ですか?また、それを防ぐために何ができますか?

挿入できることを知っています

viewController.view.superview.frame = frame;

プレゼンテーションの直後ですが、これはハックのようです。

4

1 に答える 1

0

あなたがdeveloper.appleの議論で見ることができるようにpresentModalViewController:animated:

討論

modalViewControllerプロパティを指定されたViewControllerに設定します。ビューのサイズを変更し、ビュー階層にアタッチします。ビューは、modalViewControllerパラメーターのコントローラーのmodalTransitionStyleプロパティで指定された遷移スタイルに従ってアニメーション化されます。

于 2013-03-22T23:06:33.177 に答える