2012-07-27 54 views
3

我正在使用下面的代碼來創建啓動畫面圖像。我遇到的唯一問題是視圖出現在屏幕頂部以下20像素處。在檢查appFrame的屬性後,我可以看到原點和高度不正確。當我加載我的下一個視圖時,它增加了20個像素,併成爲40個像素!我在這裏做錯了什麼?是什麼造成了20像素的差距?iPad應用程序偏移20像素

CGRect appFrame = [[UIScreen mainScreen] applicationFrame]; 
UIView *view = [[UIView alloc] initWithFrame:appFrame]; 
view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; 
self.view = view; 

splashImageView_ = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"splashpage.png"]]; 

enter image description here

回答

5

用於主屏幕的框架相對於它的父,因此它包括一個20像素的狀態欄的偏移。當您設置爲你的框架,你說你的觀點應該是低於它的父頂部的原點爲20px

你應該設置你的視圖作爲屏幕範圍的框架

+0

20px偏移量應該幾乎總是尖叫狀態欄。 – 2012-07-27 14:03:41

+1

我將代碼更改爲'[[UIScreen mainScreen]範圍];'現在正確顯示原點爲0,0,尺寸爲1024x768,但我仍然看到空白區域。我證實,在我的NIB中,主窗口確實將狀態欄設置爲無。 – atrljoe 2012-07-27 14:05:50

+0

你如何添加spashImageView? – wattson12 2012-07-27 14:07:11

1

可以在您的應用程序的Info.plist文件中將「狀態欄初始隱藏」屬性設置爲「YES」。

iOS將爲你取下並重新調整你的屏幕尺寸