2010-11-03 89 views
1

在界面生成器中,我創建了包含UIScrollView的UIVIew(UIViewController的視圖)。 UIScrollView的設置方式是根據iPad的方向調整大小。iPad方向問題

當我以縱向模式啓動應用程序時,視圖最初具有縱向方向的寬度和高度。只有在我開始與應用程序交互後,視圖纔會突然調整到「正確」的方向。

基本上,我的問題是爲什麼UIScrollView(和UIView)的框架和界限仍然像設備是縱向模式?我在網上看到過幾個關於這個問題的線索,但是他們中沒有一個真的給了我正在尋找的答案。

奇怪的是,當我給UIScrollView一個生動的背景顏色(所以我可以看到它的尺寸),它有正確的比例,但框架和邊界是「不正確的」。

回答

2

我明白了,它讓我感到很驚訝。首先,我注意到滾動視圖的大小是正確的(即,匹配設備的方向),這就是我在滾動視圖邊界上基於我的滾動視圖的內容大小的原因(因爲它變成了這是一個不正確的內容大小,造成了所有的麻煩)。

這一切都可以正常工作,但需要注意的是,滾動視圖(以及其他任何視圖)的大小會根據viewDidLoad方法中設備的方向而不是viewWidAppear方法進行調整。 (只是要清楚,與以前我並不意味着這實際上發生在viewDidLoad方法)。

所以,我錯誤地設置了viewDidLoad方法中的滾動視圖的內容大小,但在那一刻滾動視圖的大小「不正確」呢(「不正確」我只是表示,取決於設備的方向,它沒有調整到設備的方向)。我所做的解決這個問題的方法是將我的滾動視圖的內容大小設置爲viewWillAppear方法。

聽起來很簡單(而且是),但我花了一些時間才弄清楚。我希望這能幫助任何在將來遇到類似問題的人。

+0

謝謝!幾個小時後我一直在努力解決相同的問題,然後我發現你的帖子解決了它。 – Lope 2011-03-24 16:25:45