0

それは非常に単純なセットアップであり、ログは私を混乱させています:

UIViewController サブクラスがあります。特にない。そのビューにはサブビューがあります。ビューをスケーリングするために、トランスフォームでいくつかのアニメーションを実行したかったのです。デバッグ中に私はこれを見つけました:

----- VIEWDIDLOAD <UIView: 0x9d77bc0; frame = (10 57; 300 206)...
----- VIEWWILLAPPEAR <UIView: 0x9d77bc0; frame = (10 57; 300 206)...
----- VIEWWILLLAYOUTSUBVIEWS <UIView: 0x9d77bc0; frame = (10 57; 460 206)...
----- VIEWDIDLAYOUTSUBVIEWS <UIView: 0x9d77bc0; frame = (10 57; 460 206)...
----- VIEWDIDAPPEAR <UIView: 0x9d77bc0; frame = (10 57; 460 206)...

このサブビューのフレームは、-viewWillAppear と -viewWillLayoutSubviews の呼び出しの間で変化します。サブビューのフレームが -viewWillLayoutSubviews と -viewDidLayoutSubviews の間で変わると思います。

ここで willAppear と willLayout の間で何が起こるでしょうか?

Xcode 4.5.1、iOS 6

4

1 に答える 1

1

正確な答えはわかりませんが、ビューをサブクラス化し、そのオーバーライドを実装することで見つけることができるはずsetFrame:ですsuper. ブレークポイントを設定し、コール スタックを確認します。

于 2012-10-15T13:37:59.113 に答える