2011-06-27 59 views
2
調整

我創建在Interface Builder一個UIScrollView其佔據了iPad的整個屏幕(0,0,1024,768)UIScrollView的高度從IB

但是 - 在運行程序的時候,滾動視圖僅僅是在(0,0,1024,440)屏幕上顯示。 440是一個估計值,但它不是一直延伸到填充屏幕,因爲它應該。

我在其他應用程序中完成了同樣的事情,並沒有遇到過這個問題。 我已經在項目上運行了「Clean」,我嘗試刪除scrollView並重新創建它,並且仍然會發生同樣的問題。

我甚至試圖以編程方式強化界面生成器中的內容,但它仍以相同的方式顯示。

CGRect scrollFrame = CGRectMake(0, 0, 1024, 768); 
[scrollView setFrame:scrollFrame]; 

如果你有任何想法,爲什麼這可能發生,你的幫助將非常感激。

*更新* 經過一些更多的研究,視圖控制器出現問題。 scrollView未顯示的底部區域完全無法訪問。如果我將一個按鈕放在屏幕的底部,我無法點擊該按鈕。如果它在屏幕的上半部分,我可以點擊它就好了。

此外,滾動視圖並非真正從0,0開始。它在哪裏開始它是缺少內容的頂部。所以看起來scrollView DOES的高度爲768,但是從-320開始,這樣它的頂部就不在屏幕的頂部,底部在屏幕底部之前結束。

+1

你能解釋一下你的視圖層次嗎? –

+0

檢查正確,你在代碼中犯了一個錯誤。 – Ishu

+0

視圖控制器是否在選項卡視圖控制器或導航控制器中? – bunnyhero

回答

0

這個問題似乎是應用程序認爲它是在肖像模式下,即使我在景觀模式下有.xib。

與在mainProjectViewController的viewDidLoad中這個小動作固定它:

CGRect landFrame = self.view.frame; 
landFrame.size.width = self.view.frame.size.height; 
landFrame.size.height = self.view.frame.size.width; 
self.view.frame = landFrame;