Screen Width
1. Using UIScreen
Code : UIScreen.main.bounds.width
2. Using Frame - Not only screen, It will check view like - button textview too.
Code - view.frame.width
3. Size
Code : view.frame.size.width
4.
Screen Height
1. Using UIScreen
Code : UIScreen.main.bounds.height
2. Using Frame - Not only screen, It will check view like - button textview too.
Code - view.frame. height
3. Size
Code : view.frame.size. height
4. Device Screen Middle
Horizontal
UIScreen.main.bounds.midX
Vertical
UIScreen.main.bounds.midY
5. Device Screen Max
Horizontal
Code : UIScreen.main.bounds.maxX
Vertical
Code : UIScreen.main.bounds.maxY
Horizontal
Code : UIScreen.main.bounds.minX
Vertical
Code : UIScreen.main.bounds.minY
Device Model according to Screen Size
1.
Code : Call in ViewDidLoad - print("screenType:", UIDevice.current.screenType.rawValue)
extension UIDevice {
var iPhoneX: Bool {
return UIScreen.main.nativeBounds.height == 2436
}
var iPhone: Bool {
return UIDevice.current.userInterfaceIdiom == .phone
}
enum ScreenType: String {
case iPhone4 = "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 iPhoneX = "iPhone X"
case unknown
}
var screenType: ScreenType {
switch UIScreen.main.nativeBounds.height {
case 960:
return .iPhone4
case 1136:
return .iPhones_5_5s_5c_SE
case 1334:
return .iPhones_6_6s_7_8
case 1920, 2208:
return .iPhones_6Plus_6sPlus_7Plus_8Plus
case 2436:
return .iPhoneX
default:
return .unknown
}
}
}
2
No comments:
Post a Comment