私のプロジェクトには本当に奇妙なバグがあります。私はUIScrollViewメインの大きなビューを持っています。その中に、インスタンス変数を持つUIViewController(not UITableViewController) とその他の があります。その上にタブバーがあるため、ビューコントローラーのビューフレームを に設定しました (これはまだ機能していません)。最初はうまく機能し、見栄えがしますが、を提示して閉じると(したがって、をリロードすると思います)、のビューが画面の上部にプッシュされます(デフォルトではに設定されていますが、設定したのでに、今は に設定します。UITableViewUIButtonsCGRectMake(0, 64, 320, 388)modalViewControllerUIViewControllerUIViewControllerCGRectMake(0, 0, 320, 460)wantsFullScreenLayoutNOCGRectMake(0, 0, 320, 388)
viewWillAppearこの問題をとの間のどこかに追跡しましたviewDidAppear。を閉じた後の正確なログは次のmodalViewControllerとおりです。
2011-05-06 11:08:39.974 Campus[1570:207] フレームは 0.000000、64.000000、320.000000、388.000000 (viewWillAppear)
2011-05-06 11:08:40.378 Campus[1570:200,007] フレームは 0.0.0 320.000000、388.000000 (viewDidAppear)
ご覧のとおり、フレームは では問題ありviewWillAppearませんが、 ではそうではありませんviewDidAppear。
私はそれを修正するために次のことを行いました: - 、、、および
で目的のフレームを設定します。
- 私を に設定します。- メソッドのオーバーライドで自分と呼び出しを
殺しました。loadViewviewDidLoadviewWillAppearviewDidAppearwantsFullScreenLayoutNO[super viewWillAppear:][super viewDidAppear:]
私は何をすべきか?!?!?