iOS6和iOS7代码的适配(1)
蘋果的iOS7推出后,對于所有的應用來說都提出了一個天然的需求——適配不同版本的SDK。目前來說,用iOS6的SDK生成的應用,可以在iOS7的系統上跑,UI上也保持了原來的風格樣式,這是蘋果做的向下兼容,不過不要小看蘋果推行iOS7的決心——蘋果發布消息,2014年2月1日開始,AppStore上不接受不是Xcode5的提交。
? ? ? 這樣,蘋果給所有的開發者留下的就是華山一條路了——升級你的系統吧,Mac10.9都免費發布了,你還要鬧哪樣?!
?
? ? ? 雖然每版SDK的推出都會有適配的問題,但個人感覺這次iOS7的SDK的變化是最大的。為了適配iOS7,每個應用都需要做一些事情:
1. icon的變化
? ? ? iOS7的圖標和原先也有變化,這點在Xcode5里面體現的很清楚。
? ? ? iPhone上來說,需要增加120X120的圖標;iPad上來說,需要增加76X76和152X152的圖標。并且圖標風格推薦和iOS7盡量貼近,蘋果仍然會幫你做圓角化(圓角的半徑不同了),但陰影效果等不會幫做了。(設計表示躺槍啊)
? ? ? 官方有一份文檔可以參考:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html#//apple_ref/doc/uid/TP40006556-CH27
2. 啟動界面
? ? ? 啟動界面需要增大一些,把原先的status bar的區域加進去。如果原先你的設計就是全屏的,這一步就可以省略了。
3. Retina和4寸屏幕的支持
? ? ? 目前的應用這個應該都有支持了吧,如果你不支持iPhone5的話,AppStore上已經不能提交了。
4.調整layout
? ? ? 由于status bar的原因,坐標計算的原點有變化,很多時候會發現UI上有不少重疊的現象,這個就需要調整了。由于同時要適應iOS6和iOS7,這個調整相應也有一些難度。
? ? ? 蘋果官方推薦使用autolayout來幫助做自動的適應(3.5寸和4寸的屏幕)。iOS7里面的autolayout功能說增強了不少,以前我也不愿意使用這個功能,以后的應用中打算試試。
5. Bar Button
? ? ? Bar Button是指那些系統預設的用在Toolbar或者NavigatorBar上的按鈕,UI上有明顯改變,大小也有一定的變化,tintColor也變成了barTintColor。
6. 其他UI的細節
? ? ? UI的變化真的很多,大的框架不會變化,但各處細節改變很多,這個也沒法窮舉了,打算后面慢慢總結,把自己遇到的分享出來。
?
? ? ? iOS6的應用運行在iOS7的系統上時,會模擬出一個iOS6的環境,所以應用仍然會擬物化的顯示,UI的控件也都顯示iOS6的風格。不過蘋果官方說這樣效率較低,不建議這么做,目前的情況時過渡,相信會逐漸減少。
? ? ? 不過我iOS6的應用也可以在iOS7系統上運行時也出現過異常。異常是在progressView上出現的,在界面上顯示和iOS7一樣很細,解決方法是在代碼里把frame顯式指定了一下。
?
? ? ? iOS系統的判定,這個可以通過[[[UIDevice currentDevice] systemVersion] floatValue]來獲得。
http://blog.csdn.net/sakulafly/article/details/17795285
轉載于:https://www.cnblogs.com/geek6/p/3840605.html
總結
以上是生活随笔為你收集整理的iOS6和iOS7代码的适配(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: puTTY的配置导入和导出
- 下一篇: 双向绑定篇