私のプロジェクトには本当に奇妙なバグがあります。私はUIScrollView
メインの大きなビューを持っています。その中に、インスタンス変数を持つUIViewController
(not UITableViewController
) とその他の があります。その上にタブバーがあるため、ビューコントローラーのビューフレームを に設定しました (これはまだ機能していません)。最初はうまく機能し、見栄えがしますが、を提示して閉じると(したがって、をリロードすると思います)、のビューが画面の上部にプッシュされます(デフォルトではに設定されていますが、設定したのでに、今は に設定します。UITableView
UIButtons
CGRectMake(0, 64, 320, 388)
modalViewController
UIViewController
UIViewController
CGRectMake(0, 0, 320, 460)
wantsFullScreenLayout
NO
CGRectMake(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
。
私はそれを修正するために次のことを行いました: - 、、、および
で目的のフレームを設定します。
- 私を に設定します。- メソッドのオーバーライドで自分と呼び出しを
殺しました。loadView
viewDidLoad
viewWillAppear
viewDidAppear
wantsFullScreenLayout
NO
[super viewWillAppear:]
[super viewDidAppear:]
私は何をすべきか?!?!?