2011-07-25 56 views
10

這裏真的很奇怪。 我有一個視圖裏面的滾動視圖,其中包含我的界面。iPhone:viewWillAppear之前在viewDidLoad之後調用了什麼?

在我的viewDidLoad中,我將scrollView的框架設置爲0,0的原點。

我將原點記錄在我的viewDidLoad的末尾,它是0. 但是,在我的viewWillAppear的開頭,原點爲-20。 有誰知道什麼樣的方法可以調用,這將做到這一點?

在此先感謝

+0

你可以發佈你記錄原點的線嗎?有趣的是狀態欄是20px,但這並不能解釋減號。 – Jano

回答

5

如果你想找出它可能是什麼,你可以嘗試註冊您的視圖觀察鍵值,如下所述:http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html

你可以註冊偵聽更改frame屬性,然後在observe方法中設置一個斷點,它應該讓你準確地看到當你的原點被設置爲奇怪值時棧曲線是什麼。

+1

爲真棒答案和EarthBound頭像+1 ....確定主要是EarthBound頭像 – DelightedD0D

28

您是當前的方法優先正確:

-(void)loadView; 
-(void)viewDidLoad; 
-(void)viewWillAppear; 
-(void)viewDidAppear; 

也許有一個旋轉的呼叫或在路上其他一些方法,如didRotateToInterfaceOrientation;例如?另外,這是從nib文件加載的控制器的滾動視圖部分?

+0

是的...我認爲這可能是與筆尖做...我怎麼能找到那個? –

+0

你使用 - (void)awakeFromNib:方法嗎?如果沒有,就把它扔進去,並考慮在那裏移動一些計算。我忘記了這個方法如何適合我的上面的列表。 – Luke

2

20個像素差異和nib文件似乎總是不幸的,但與界面生成器和狀態欄。你是否設置了與你在應用程序中使用的相同狀態欄狀態的筆尖?

如果您在應用程序中隱藏了狀態欄,那麼您是否在界面構建器中完成了相同的操作?

+0

20 px更改聲音非常像狀態欄已被隱藏在這兩個事件之間。 –

相關問題