2012-11-28 178 views
0

大量的谷歌搜索後,我問這個問題。我有一個應用程序,我想讓它與iPhone5兼容。我將Default-568h @ 2x添加到包含近10個視圖的應用程序中。所以我改變了看法是這樣..iPhone 5 UI屏幕問題

在viewDidLoad中:

if ([[UIScreen mainScreen] bounds].size.height >= 568) { 
     self.view.frame = CGRectMake(0, 0, 320, 568); 
    //iPhone5 
    } 
    else { 
    } 
window.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; 

我做了這些改變,我didFinishLaunching與選擇:

window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 

做這樣後,我發現一些問題..

  1. 屏幕的底部即88px長即使放置在它上面的控件也不可觸摸 - 對於此i hav e設置FullScreenAtLaunch在MainWindow.xib的屬性中檢查,但沒有工作
  2. 我有文本框的視圖,當它被聚焦鍵盤即將到來,但在鍵盤視圖的頂部來了,如何擺脫這一點。

如何解決此問題,任何幫助將不勝感激。

感謝

回答

3

這是因爲在該行,你在App委託類來創建你UIWindow你可能有這樣的事情:

self.window = [[UIWindow alloc] initWithFrame:CGRectMake(0,0,320,480); 

改變它是這樣的:

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 

你現在還在哪裏:

if ([[UIScreen mainScreen] bounds].size.height >= 568) { 
    self.view.frame = CGRectMake(0, 0, 320, 568); 
//iPhone5 
} 
else { 
} 

您coud如做:

self.view.frame = [[UIScreen mainScreen] bounds]; 

但大部分因爲視圖 ​​- 控制的觀點這ins't需要將正確採取運算空間的時間。如果您已經在界面生成器中正確設置了AutoResizeMasks,則不會在代碼中設置框架。

+0

請再次看到問題,我已編輯它.. –

+0

仍然存在的問題是窗口占據屏幕的整個高度。 – rckoenes

+0

我應該怎麼做才能使它交互和約2個問題 –