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 回答