Launch Screen 在 iOS7/8 中的實現
目前專案中需要解決的問題是:
- 相容iOS7和iOS8,之前的版本不需要支援了
- 實現相容3.5、4、4.7和5.5寸螢幕,豎屏的Lauch Screen
建立所需的PNG圖片
有關iPhone6/6+相關尺寸見這裡
需要如下尺寸圖片:
- 用於iPhone6+的1242x2208,或者1080x1920,也就是Retina HD 5.5
- 用於iPhone6的750x1334,也就是Retina HD 4.7
- 用於4寸屏(iPhone5/5s)的640x1136,就是Retina 4
- 用於3.5寸(iPhone4/4s)的640x960,就是2x
使用LaunchImage
使用LaunchImage,可以相容iOS7和iOS8。
因為iOS8也會呼叫LaunchScreen.xib
然後,在Images.xcassets
中建立一個LaunchImage
需要在專案屬性裡,launch Images Source
裡設定為LaunchImage
測試了一下:
- iPhone6+使用的是Retina HD 5.5
- iPhone6使用的是Retina HD 4.7
- iPhone5s使用的是Retina 4
- iPhone4s使用的是2x
使用LauchScreen.xib
這是Xcode6/iOS8的新功能,也就是說,這個步驟,是為了支援iOS8的,而不支援iOS7。其實在目前的專案用不上,不過做了技術準備,就寫下來吧。
看到這個方形的xib檔案,怪怪的,這是為了支援橫屏和豎屏的,因為這個專案只需要豎屏,也可以這樣:
不改也沒關係。
在Images.xcassets
裡建立backgroundImage
給LaunchScreen.xib
中加一個圖片,用剛剛建立的backgroundImage
。
測試一下,iOS8下面的Launch Screen都沒有問題了:
- iPhone6+用的是3x
- iPhone5s用的是Retina 4 2x
- iPhone6和iPhone4s都是用的2x
因此我沒有新增1x的圖片,基本沒用。
結論
- 目前比較好的方式是使用
Launch Image
的方式建立各種裝置的圖片檔案,相容iOS7/8 - 使用
LaunchScreen.xib
,功能更強大,但是僅支援iOS8,可能再過幾年可以成為主流方法
原始碼見這裡:GitHub
LaunchImage
的方式。
相關推薦
Launch Screen 在 iOS7/8 中的實現
目前專案中需要解決的問題是:相容iOS7和iOS8,之前的版本不需要支援了實現相容3.5、4、4.7和5.5寸螢幕,豎屏的Lauch Screen建立所需的PNG圖片有關iPhone6/6+相關尺寸見這裡需要如下尺寸圖片:用於iPhone6+的1242x2208,或者1080x1920,也就是Retina H
IOS7 8中tableview分割線缺少15畫素
IOS8 設定TableView Separatorinset 分割線從邊框頂端開始 在ios8上 [TableViewsetSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];不起作用經過測試加入下面方法 在ios7 8上都可以正常工作-(
JDK1.8中HashMap實現
替換 應該 初始化 第一個元素 擴容 實現 1.8 put 相同 JDK1.8中的HashMap實現跟JDK1.7中的實現有很大差別。下面分析JDK1.8中的實現,主要看put和get方法。 構造方法的時候並沒有初始化,而是在第一次put的時候初始化 put
HashMap在jdk1.7和1.8中的實現
Java集合類的原始碼是深入學習Java非常好的素材,原始碼裡很多優雅的寫法和思路,會讓人歎為觀止。HashMap的原始碼尤為經典,是非常值得去深入研究的,jdk1.8中HashMap發生了比較大的變化,這方面的東西也是各個公司高頻的考點。網上也有很多應對面試的標準答案,我之前也寫過類似的面
【必備技能】HashMap在jdk1.7和1.8中的實現
static final int TREEIFY_THRESHOLD = 8; public V put(K key, V value) { return putVal(hash(key), key, value, false, true); } final V putVal(i
jdk1.8 HashMap 實現 陣列+連結串列/紅黑樹(預設桶中長度大於8時)
轉載至 http://www.cnblogs.com/leesf456/p/5242233.html 一、前言 在分析jdk1.8後的HashMap原始碼時,發現網上好多分析都是基於之前的jdk,而Java8的HashMap對之前做了較大的優化,其中最重要的一個優化就是
jdk1.8中ConcurrentHashMap的實現原理
併發環境下為什麼使用ConcurrentHashMap 1. HashMap在高併發的環境下,執行put操作會導致HashMap的Entry連結串列形成環形資料結構,從而導致Entry的next節點始終不為空,因此產生死迴圈獲取Entry 2. HashTa
Android多執行緒之Java 8中ThreadLocal內部實現機制詳解
前言:ThreadLocal是執行緒內部的儲存類,通過它可以實現在每個執行緒中儲存自己的私有資料。即資料儲存以後,只能在指定的執行緒中獲取這個儲存的物件,而其它執行緒則不能獲取到當前執行緒儲存的這個物件。ThreadLocal有一個典型的應用場景,即我們在前文中
JDK1.8中ArrayList的實現原理及原始碼分析
一、概述 ArrayList是Java開發中使用比較頻繁的一個類,通過對原始碼的解讀,可以瞭解ArrayList的內部結構以及實現方法,清楚它的優缺點,以便我們在程式設計時靈活運用。 二、原始碼分析 2.1 類結構 JDK1.8原始碼中的A
HashMap 在JDK1.8中的實現
摘要HashMap是Java程式設計師使用頻率最高的用於對映(鍵值對)處理的資料型別。隨著JDK(Java Developmet Kit)版本的更新,JDK1.8對HashMap底層的實現進行了優化,例如引入紅黑樹的資料結構和擴容的優化等。本文結合JDK1.7和JDK1.8的區別,深入探討HashMap的結構
Java中實現String.padLeft和String.padRight
toc 還要 color for 失去 1-1 arraycopy ace pre 因為習慣了C#中的padLeft和padRight,接觸Java後突然失去這兩個功能,覺得別扭,就試著實現了這兩個方法。 Java中String.format()中帶有字符串對齊功能如下
php中實現頁面跳轉的幾種方式
腳本 timeout location clas replace asc idt lee 實現 親測,not復制粘貼 PHP中實現頁面跳轉有一下幾種方式,看了幾個人寫的不是很條理,自己整理一下 在PHP腳本代碼中實現 <?php header("locati
關於java中實現在oracle數據庫中實現對中文首字母進行排序的解決方案
capital obj create team capi substr order ring 一個 首先介紹Oracle 9i新增加的一個系統自帶的排序函數 1、按首字母排序 在oracle9i中新增了按照拼音、部首、筆畫排序功能。設置NLS_SORT值 SCHIN
Quick-Cocos2d3.2RC1在Code IDE中實現代碼提示
ref 使用 分享 tin doc tails 位置 壓縮包 http 之前寫Lua最痛苦的就是代碼提示問題,如今官方給了IDE很好用。以下說Quick使用IDE加入代碼提示問題。 第一步:制作api提示壓縮包。須要使用控制臺實現方法例如以下: 1、找到framew
ASP.NET MVC & WebApi 中實現Cors來讓Ajax可以跨域訪問 (轉載)
詳細 簡介 part bsp bob 打印 不能 res user 什麽是Cors? CORS是一個W3C標準,全稱是"跨域資源共享"(Cross-origin resource sharing)。它允許瀏覽器向跨源服務器,發出XMLHttpRequest請求,從而克服了
在Android中實現陰影效果
sta 技術 wid 語言 mat floating 大表 ado sch 在Android L推出後,Google提出了全新的設計語言:材質設計。其中很重要的一點就是陰影效果的使用,你可以為每一個View設置一個elevation值,相當於除了x、y之外的z值,z值決定
centos6.8+openvpn實現賬戶密碼連接
說明 文件的 persist exist base span htm sig 更改 #搭建openvpn(編譯安裝) 初始化環境 #update epel mirror yum install wget -y cd /etc/yum.repos.d &&
QML中實現setTimeout和setInterval
comment del tint connect start pre 通過 false code Qt的QML中,js未提供setTimeout和setInterval,可以通過下面的代碼實現。 Timer {id: timer} function setTimeout
在RGui中實現數據源的導入(數據框,.txt,excel,MySQL)
har 因子 eric data excel gen edit ram mes 數據框中數據導入 > mydata<-data.frame(age=numeric(0),+ gender=character(0),+ weight=numeric(0))>
html中實現數據的顯示和隱藏
func 隱藏 obj else content cli solid head utf Author: YangQingQing <!DOCTYPE html><html><meta http-equiv="Content-Type" co