2014-01-31 118 views
1

我的團隊針對不同的iOS屏幕(例如iPad,iPad Mini,iPod,iPhone)執行不同的屏幕設計。是否有一種通用的方法可以完成支持/適合所有屏幕的單一設計。目前,我們在不同設備和應用的不同版本上面臨更多問題。上面提到的是完全原生的iOS應用程序。不是手機/不是鈦。iOS通用屏幕設計

這就是我們如何完成不同設備的編碼。

  if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) { 
      if([UIScreen mainScreen].bounds.size.height == 568) 
      { 
       HelpView.frame=CGRectMake(7, 0, 300, finalheight+30); 
       himgview.frame=CGRectMake(7, 560, 300, finalheight+30); 
      } 
      else if([UIScreen mainScreen].bounds.size.height==480){ 
       HelpView.frame=CGRectMake(0, 0, 310, finalheight+30); 
       himgview.frame=CGRectMake(5, 555, 310, finalheight+30); 
      } 
     } 
     else{ 
      if([UIScreen mainScreen].bounds.size.height == 568) 
      { 
       HelpView.frame=CGRectMake(7, 0, 300, finalheight+30); 
       himgview.frame=CGRectMake(7, 550, 300, finalheight+30); 
      } 
      else if([UIScreen mainScreen].bounds.size.height==480){ 
       HelpView.frame=CGRectMake(0, 0, 310, finalheight+30); 
       himgview.frame=CGRectMake(5, 555, 310, finalheight+30); 
      } 
     } 
+0

你的意思是不同的屏幕設計?它看起來不同?或者只是爲相應的設備創建不同的筆尖? – Mani

+0

不同尺寸 –

+0

在IOS中,有一些不同的屏幕(尺寸),iPhone視網膜3.5「,視網膜4」,iPad,iPad mini。所以你可以相應地爲iPad和iPhone使用兩個不同的xib。爲了適應視網膜3.5「和4」,使用Autolayout。如果你的觀點更復雜,也可以使用另一個xib。 – Mani

回答

2

通過做不同的屏幕設計,我假設你的意思是使用不同的XIB或故事板? 如果這確實是你正在做的權利,我建議你看看Auto Layout。 這樣,您只需描述您希望佈置元素的方式,並且iOS會根據屏幕大小自動佈局它們。這樣,您只需一兩個(iPad和iPhone)故事板即可脫身,從而無需爲每個屏幕分辨率創建單獨的佈局。
順便說一句,即使沒有自動佈局,你也不需要iPad和iPad Mini或iPod 5和iPhone 5的不同佈局,因爲它們具有相同的分辨率。

+0

這就是我們爲不同設備編碼的方式。 –

+0

嗨,我用我的團隊完成的示例代碼更新了我的問題。他們使用此代碼在不同設備上顯示信息按鈕。這是正確的做法嗎? –

+1

感謝您添加示例代碼。但是,這不是自動佈局,因爲您自己手動設置所有幀。這意味着每個屏幕分辨率都有很多工作要做,並且改變設計師的設計。當你使用自動佈局時,你不應該再設置框架屬性,自動佈局應該使用當前屏幕尺寸和你自己的約束來計算框架。這樣,你就不需要你發佈的任何示例代碼了。我建議你看看蘋果自己的Auto Layout介紹和Ray Wenderlich的'Beginning Auto Layout'教程。 – s1m0n