2012-08-02 87 views
2

我很困惑。我沒有狀態欄,我不知道如何製作滾動視圖的尺寸。它是320 x 480還是320 x 460?因爲當我將它拖出到故事板並填滿整個屏幕時,它說它是320 x 460,但是當我向其添加子視圖時,它們被奇怪地定位並且使得它像視圖20像素短。是一個iPhone手機屏幕分辨率320x460,或320x480?

編輯:我只是有點困惑,因爲當我的狀態欄消失,它不重新調整視圖大小,它只是使視圖20像素更短,這真的沒有道理,對不對?難道不應該讓它變成20像素而不是僅僅關掉20像素?

回答

7

iPhone屏幕一定是320x480。

你在故事板中遇到問題的原因是有多個地方告訴它你沒有狀態欄。你需要追蹤所有這些(3?),並確保它沒有顯示狀態欄。

最常見的問題是,如果您在先前的某個viewController中使用或推斷了您的狀態欄,而您已將其專門設置爲在嵌套viewController中關閉狀態欄。這導致它沒有狀態欄,但顯示爲460像素高。正如你在圖像中看到的那樣,它明顯縮短了20個像素。那是因爲segue告訴它,當它呈現出來時在狀態欄「下」呈現它,即使它本身沒有。如果我要改變模式來推動問題消失。或者,如果我將第一個viewController設置爲沒有statusBar,問題就消失了。另請注意,在某些情況下,Xcode可能需要重新啓動以正確更新其圖形故事板。

enter image description here

一件事

而且設置無論是在代碼或腳本將內容隱藏狀態欄是不一樣在你的.info文件設置UIStatusBarHiddenYES。如果您將它隱藏到其他地方,則默認情況下,您的default.png將被剪切並在加載時顯示狀態欄,一旦應用程序啓動完成,它將消失。因此,一定要將其隱藏起來以獲得一致的用戶體驗。

代碼

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 

    [application setStatusBarHidden:YES]; 
} 
+0

我相信,如果你在應用程序代理中設置它的代碼,它會覆蓋那個 – 2012-08-02 19:57:35

+0

是的,但你應該完全可以在故事板中完成。我已經用一張圖片更新了我的答案,並詳細說明了爲什麼會發生。 – 2012-08-02 19:59:35

+0

嗯,我所做的只是告訴它狀態欄消失了,我去了plist並輸入一個命令,狀態欄最初是隱藏的,我將它設置爲YES,不會那麼工作?那麼,如何在故事板上拖出它並填滿整個屏幕,尺寸只有320 x 460?我是否應該將它改爲x:0 y:0 width 320 height 480即使是它看起來就像它在故事板上的屏幕一樣? – bmende 2012-08-02 19:59:40

1

我有點出iPhone編程,但是這20像素應該是上邊界,在那裏你可以看到載體和強度等

+0

我相信他知道並告訴它隱藏。但仍然失去了空間。 – 2012-08-02 19:58:35

3

是320 x 480,您看到的20個像素是狀態欄,如果您計劃隱藏狀態欄並希望與Interface Builder中的大小相匹配,則可以轉到IB到模擬度量標準 - >狀態欄並選擇無。

這不會影響視圖控制器中視圖的實際大小,但由於它將自行調整大小以適應大小,即使將視圖設置爲320 x 480,視圖控制器也會將其自身大小調整爲320如果有狀態欄,則爲460;如果還有導航欄,則爲320 x 418。