然后,在您的代码中,您需要确定您的应用在什么设备上运行以及它是纵向还是横向,然后决定使用哪个图像。为了让这更容易,我使用了这个框架:https://github.com/InderKumarRathore/DeviceGuru。请注意,它还没有包含最新的设备(iPhone 6s 和 iPhone 6s plus),所以你必须在他的 swift 文件中为此添加一行。然后,将下面的代码放入您想要launchImage的vc中,然后就可以了:
func launchImage() -> UIImage? {
if let launchImageName = launcheImageName() {
print(launchImageName)
return UIImage(named: launchImageName)
}
else {
print("no launch image")
return nil
}
}
func launcheImageName() -> String? {
let HD35 = "LaunchImage-700@2x.png"
let HD40 = "LaunchImage-700-568h@2x"
let HD47 = "LaunchImage-800-667h@2x.png"
var HD55 = "LaunchImage-800-Portrait-736h@3x.png"
var padHD = "LaunchImage-700-Portrait@2x~ipad.png"
var pad = "LaunchImage-700-Portrait~ipad.png"
if UIDevice.currentDevice().orientation == UIDeviceOrientation.LandscapeLeft || UIDevice.currentDevice().orientation == UIDeviceOrientation.LandscapeRight {
HD55 = "LaunchImage-800-Landscape-736h@3x.png"
padHD = "LaunchImage-700-Landscape@2x~ipad.png"
pad = "LaunchImage-700-Landscape~ipad.png"
}
let hardware = hardwareString()
if (hardware == "iPhone1,1") { return HD35 }
if (hardware == "iPhone1,2") { return HD35 }
if (hardware == "iPhone2,1") { return HD35 }
if (hardware == "iPhone3,1") { return HD35 }
if (hardware == "iPhone3,2") { return HD35 }
if (hardware == "iPhone3,3") { return HD35 }
if (hardware == "iPhone4,1") { return HD35 }
if (hardware == "iPhone5,1") { return HD40 }
if (hardware == "iPhone5,2") { return HD40 }
if (hardware == "iPhone5,3") { return HD40 }
if (hardware == "iPhone5,4") { return HD40 }
if (hardware == "iPhone6,1") { return HD40 }
if (hardware == "iPhone6,2") { return HD40 }
if (hardware == "iPhone7,1") { return HD55 }
if (hardware == "iPhone7,2") { return HD47 }
if (hardware == "iPhone8,1") { return HD55 }
if (hardware == "iPhone8,2") { return HD47 }
if (hardware == "iPod1,1") { return HD35 }
if (hardware == "iPod2,1") { return HD35 }
if (hardware == "iPod3,1") { return HD35 }
if (hardware == "iPod4,1") { return HD35 }
if (hardware == "iPod5,1") { return HD40 }
if (hardware == "iPad1,1") { return pad }
if (hardware == "iPad1,2") { return pad }
if (hardware == "iPad2,1") { return pad }
if (hardware == "iPad2,2") { return pad }
if (hardware == "iPad2,3") { return pad }
if (hardware == "iPad2,4") { return pad }
if (hardware == "iPad2,5") { return pad }
if (hardware == "iPad2,6") { return pad }
if (hardware == "iPad2,7") { return pad }
if (hardware == "iPad3,1") { return padHD }
if (hardware == "iPad3,2") { return padHD }
if (hardware == "iPad3,3") { return padHD }
if (hardware == "iPad3,4") { return padHD }
if (hardware == "iPad3,5") { return padHD }
if (hardware == "iPad3,6") { return padHD }
if (hardware == "iPad4,1") { return padHD }
if (hardware == "iPad4,2") { return padHD }
if (hardware == "iPad4,3") { return padHD }
if (hardware == "iPad4,4") { return padHD }
if (hardware == "iPad4,5") { return padHD }
if (hardware == "iPad4,6") { return padHD }
if (hardware == "iPad4,7") { return padHD }
if (hardware == "iPad4,8") { return padHD }
if (hardware == "iPad5,3") { return padHD }
if (hardware == "iPad5,4") { return padHD }
if (hardware == "i386") { return HD55 }
if (hardware == "x86_64") { return HD55 }
if (hardware.hasPrefix("iPhone")) { return HD55 }
if (hardware.hasPrefix("iPod")) { return HD55 }
if (hardware.hasPrefix("iPad")) { return padHD }
//log message that your device is not present in the list
logMessage(hardware)
return nil
}