如何以编程方式快速检查iphone 4和iphone 5的屏幕大小 [英] how to check screen size of iphone 4 and iphone 5 programmatically in swift
本文介绍了如何以编程方式快速检查iphone 4和iphone 5的屏幕大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要将此Objective-C替换为Swift.有人对如何转让有任何建议吗?
I need to replace this Objective-C to Swift. Does anyone have any suggestions on how to transfer it?
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
CGSize result = [[UIScreen mainScreen] bounds].size;
if(result.height == 480)
{
// iPhone Classic
}
if(result.height == 568)
{
// iPhone 5
}
}
推荐答案
Xcode 11•Swift 5.1
extension UIDevice {
var iPhoneX: Bool { UIScreen.main.nativeBounds.height == 2436 }
var iPhone: Bool { UIDevice.current.userInterfaceIdiom == .phone }
var iPad: Bool { UIDevice().userInterfaceIdiom == .pad }
enum ScreenType: String {
case iPhones_4_4S = "iPhone 4 or iPhone 4S"
case iPhones_5_5s_5c_SE = "iPhone 5, iPhone 5s, iPhone 5c or iPhone SE"
case iPhones_6_6s_7_8 = "iPhone 6, iPhone 6S, iPhone 7 or iPhone 8"
case iPhones_6Plus_6sPlus_7Plus_8Plus = "iPhone 6 Plus, iPhone 6S Plus, iPhone 7 Plus or iPhone 8 Plus"
case iPhones_X_XS = "iPhone X or iPhone XS"
case iPhone_XR_11 = "iPhone XR or iPhone 11"
case iPhone_XSMax_ProMax = "iPhone XS Max or iPhone Pro Max"
case iPhone_11Pro = "iPhone 11 Pro"
case unknown
}
var screenType: ScreenType {
switch UIScreen.main.nativeBounds.height {
case 1136:
return .iPhones_5_5s_5c_SE
case 1334:
return .iPhones_6_6s_7_8
case 1792:
return .iPhone_XR_11
case 1920, 2208:
return .iPhones_6Plus_6sPlus_7Plus_8Plus
case 2426:
return .iPhone_11Pro
case 2436:
return .iPhones_X_XS
case 2688:
return .iPhone_XSMax_ProMax
default:
return .unknown
}
}
}
print("screenType:", UIDevice.current.screenType)
这篇关于如何以编程方式快速检查iphone 4和iphone 5的屏幕大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文