1. 程式人生 > >iOS5s真機調試出現上下黑框~

iOS5s真機調試出現上下黑框~

iPhone 3GS   Default.png:  320*480         單位點:320*480

iPhone 4        [email protected]:640*960     單位點:320*480

iPhone 5        [email protected] :  640*1136     單位點:320*568

iPhone 6         單位點:375*667

iPhone 6 Plus 單位點:414*736

原因:  摘自http://www.zhihu.com/question/25421514/answer/31623909

1.

跟iPhone 4做比較, iPhone 5的寬度保持不變。高度增加568 - 480 = 88個點。

在iOS開發中,44這個數字比較特殊。iOS介面指南寫著,人類的手指有一定大小,點選區域低於44個點的時候,就難以點中。44的兩倍就是88。

當原有程式沒有適配iPhone 5的時候,也可以正常執行,但多出來的88個點將會將會被自動均分為上下兩部分,使得上下出現黑邊。

2.

那麼怎樣才能告訴iOS系統,應用程式已經適配了iPhone 5呢?在這裡,我們先扯開一下,談一下啟動圖片。


點選主螢幕的圖示,進入App的時候,會立即顯示一張圖片,這張圖片就是啟動圖片(Launch Image)。App在正式啟動的時需要做一些初始化處理,這通常比較費時。先出現啟動圖片,可以使使用者覺得系統立即有響應,減少等待的焦慮感。


每個機型,比如同時支援iPhone和iPad的程式,需要分別為iPhone跟iPad指定啟動圖片。當舊的iPhone 4的程式,執行在iPhone 5上面,沒有iPhone 5的啟動圖片,就採用相容模式,上下留黑邊。當為iPhone 5指定了新的啟動圖片,系統就認為這個應用程式是已經適配了iPhone 5的,上下就不會留黑邊了。

3.

iPhone 6跟iPhone 5雖然螢幕尺寸改變了,但是它們的比例是不變的。都是 9 ÷ 16 = 0.5625 的螢幕。


當舊的iPhone 5程式執行在iPhone 6上面,假如沒有經過適配。舊程式自動等比放大,鋪滿新手機,舊程式也可以正常執行。這種方案可算是自動適配。但因為舊程式拉伸了,整體看起來有點虛,也不能更好利用大屏空間。

值得注意一點是,iPhone 6 Plus。它的寬高是414 × 736個點,3x模式,理想上來說,應該有1242 × 2208畫素。但iPhone 6 Plus的實際畫素是 1080 × 1920,是比理想值要少一點的。

建議

  • 以後的應用程式,都使用AutoLayout, 不要再用絕對定位。

  • 使用類似網頁的方式來設計介面。

  • 設計師好,程式設計師也好,儘量使用點這個單位進行思考,而不要使用畫素。比如,你需要做44 x 66個點的按鈕,2x模式,就乘以2, 3x模式就乘以3。這樣的思考方式可以大致估計到真實的物理長度。44個點,就是手機上導航欄,工具欄的高度。假如用畫素思考,容易使得做出的圖片過大或者過小。

  • 非向量素材,就可以做尺寸最大的,之後再進行縮小。比如你需要相容3x的螢幕,就直接做最高那種圖片。

  • 而當使用Flash之類的向量工具來做素材的時候,應該直接做點那個尺寸。比如44 x 66個點的按鈕。就建立一個44 x 66的場景。之後再匯出成2倍圖,3倍圖,因為向量放大不失真。不要建立一個3x的場景,匯出成大圖片,再進行縮小,這樣就容易失真。更理想的是直接使用向量圖。

  • 假如是那種導航欄,工具欄之類的背景圖,需要橫跨整個螢幕。可以只切一小塊,讓程式拉伸,拉伸方式是保持兩邊的畫素不動,只拉伸最中間的一列畫素。需要拉伸的話,橫方向就不要出現一些漸變色。

  • 按鈕的點選區域,不應該少於44畫素,就算按鈕的圖片看起來比較小,也應該使得點按鈕周圍的透明區也有反應。

  • 可以按照你當前最方便測試機子的型號來做一些主要預覽圖,效果圖。比如你手頭有iPhone 5,可以按照iPhone 5的尺寸,320 x 568個點,需要相容iPhone 6 Plus,就使用3x的模式。這樣方便將圖片放進手機裡面看實際的效果。有多個測試機,就選較大的,之後再進行一些細調。假如支援iPhone 6 Plus的橫屏模式,需要另外處理。

  • 上面說的是應用的處理方式,遊戲會有些特殊。現在很多遊戲,按照1136 x 768的畫素尺寸來設計場景,這樣可以同時相容iPad和iPhone,並只使用一份圖。iPad 1x模式下尺寸是1024 x 768畫素,iPhone 6在2x模式下,是1136 * 640。這種尺寸,可以簡單將場景居中顯示,各自將場景拉伸到最大。


相關推薦

iOS5s調出現上下~

iPhone 3GS   Default.png:  320*480         單位點:320*480 iPhone 4        [email protected]:640*960     單位點:320*480 iPhone 5      

安卓調出現Installation failed due to invalid APK file!錯誤的解決辦法

    今天想用自己的手機來除錯自己的安卓程式,結果出現了Installation failed due to invalid APK file!錯誤。     首先編譯好的apk是可以安裝到模擬器上的,我首先懷疑的是驅動沒有裝好,於是裝了豌豆莢,發現是可以安裝軟體的,所以

微信小程式 調出現開啟除錯有資料,關閉除錯沒有資料

       本來是小程式上架成功的好日子,結果使用小程式一會後就懵逼了,我擦,說好的資料呢,怎麼沒有了,不是開發的時候除錯都好好的嗎?為什麼現在有的介面能夠展示資料調取成功;而有的介面卻不能修改資料,調取失敗呢?       於是就各種百度各種查,在排除https證書的情

調出現 application installation failed 錯誤 解決方案

 1 : 在除錯執行程式的時候提示  INSTALL_FAILED_USER_RESTRICTED  安裝失敗, 如下圖所示,   本人用的是紅米2真機開發版,  嘗試了多種方法未果,最後在開發者選項中開啟 USB安裝(允許通過usb安裝應用一切萬事大吉 哎~)

微信小程式 調出現開啟除錯有資料,關閉除錯沒有資料

最近在開發當中遇到了一個問題,上傳體驗版之後用手機開啟沒有資料,開啟除錯之後才會有資料。 出現這種問題的主要原因就是後臺的域名沒有配置,在微信公眾平臺設定-->開發設定下面有一個伺服器域名, 把這個配置好了之後就可以了。 但是要注意一個問題,配置好域名之後還是

Android調出現的相關問題

一、真是除錯,出現亂碼 修改單個工程的編碼模式:工程右鍵→properties→Resource→Text  file encoding→GBK/UTF-8 修改Eclipse的編碼模式:Window

Xcode 調報錯:This application's application-identifier entitleme

報錯 調試 win cati app itl ati 刪除 allow This application‘s application-identifier entitlement does not match that of the installed applicatio

Xcode 5、Xcode 6 免證書調

-h mac os x 拍照 6.0 2.3 product 適合 sdn lan 我們都知道,在iOS開發中,假設要進行真機調試的話是須要蘋果開發人員賬號的。否則Xcode就不可以進行真機調試。僅僅可以在模擬器上執行;這就帶來了非常多問題,比方iCloud

華為部分調無法顯示log問題解決

方式 輸入 project class log 重新 pro logcat clip 真機測試時,部分華為手機無法獲取所有的log信息。或者說無法獲取Error下面級別的log信息。比方P7 這是由於部分華為機出廠默認log設置為關閉狀態。因此僅僅能獲取Error以上級

Xcode5.1.1+ios 7.1.2 免證書調

pan using 版本號 ons ado 下載 退出 all 替換 Xcode假設不破解。無法真機調試, 也無法編譯真機Release文件。僅僅有付費開通Apple開發人員賬號,才幹申請真機調試。而Xcode進行破解後,結合越獄的iPhone或iPad, 就可以免官

【iOS開發-32】iOS程序調須要購買調證書怎麽辦?

pos 上進 ack tracking popu 怎麽辦 ont 調試 開發程序 一、情況 我們在開發iOS程序的時候,一般都是在模擬器上執行查看效果的。可是,當開完完畢。須要在真機上調試怎麽辦? 二、官方解決的方法 蘋果有為個人和企業開發人員提供調試證書和

移動端調終極利器-BrowserSync(使用方法)

默認 地址 server .html 中文路徑 自己 層級 com 可能 1. 安裝 Node.js BrowserSync是基於Node.js的, 是一個Node模塊, 如果您想要快速使用它,也許您需要先安裝一下Node.js 安裝適用於Mac OS,Windows和Li

Android studio 調時生成的文件找不到的解決方案

android 文件權限 真機調試 在用Android studio 開發時,用真實手機做測試,發現生成的文件會找不到。下面是我第一次碰到這個問題時,縮寫的代碼。public class MainActivity extends AppCompatActivity { @Override

ADK調設置

http ast 開發者 logs 運行 技術分享 image 版本 android開發 學習 Android開發,涉及到多媒體處理時,模擬機不能滿足要求,就要嘗試真機調試了,我用的是華為Mate8,設置步驟如下: (1) 連接手機到電腦(USB),打開手機“設置”

Android調——遠程主機強迫關閉了一個現有的連接。

object roi size cts win 同時 mon device nbsp 以前用真機調試程序的時候,Android Studio 出現如下的錯誤 [2016-11-12 10:37:36 - DeviceMonitor] Adb connection Erro

移動端調

控制臺 get spec 解決 usb host ip地址 watermark time 移動端調試困難 很多時候,我們在進行移動端開發時,都是先在PC端使用手機模擬器進行調試,沒有問題後,我們才會在手機端的瀏覽器進行測試,這個時候,如果沒有出現問題,皆大歡喜。但是一旦出現

Eclipse 調檢測不到手機解決方案

手機 target www usb 刪除 360手機助手 nbsp ips microsoft 想用Eclipse真機調試,但是死活檢測不到手機。 手機已經打開了usb調試模式。 開始用的華為Mate9,後面試了下小米,都不行。 在網上搜了一堆,什麽安全驅動

Android 調

ria 系統版本號 orm variant cnblogs studio manager one pan /************************摘抄*****************************/ 剛好遇到這個問題,在網上百度了一下,看到有

Mac 上調cocos2d-x-3.16的test程序

per 編譯 eid -s undle 賬號 rod 打開 none 文章比較長,一個算是新手又不是新手的程序員的解決過程。 一 xcode中打開項目 首先,下載完成cocos2d-x-3.16之後,解壓,然後在根目錄build目錄下雙擊cocos2d_tests.xc

android機頂盒調方法

android開發 round 步驟 convert res important 8.0 開關 cap 最近接觸電視APP開發,之前對Android開發也不太了解還一直以為不能真機調試。最近靜下心來想一想肯定能真機調試的,我是我不知道而已。現在講述一下真機調試的步驟: 1