2012-10-15 38 views
0

這是一個非常簡單的設置和日誌令我困惑:什麼改變了viewWillAppear和viewWillLayoutSubviews之間的子視圖框架?

我有一個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的

回答

1

我不知道確切的答案,但你應該能夠通過繼承視圖和執行setFrame:的重寫只是調用了一個在其super找出來。設置一個斷點並查看調用堆棧。

相關問題