iOS開発判断異なる画面サイズDeviceSzie

1660 ワード

簡易パッケージは、初期化画面のサイズを取得して異なるデバイスサイズを判断することで、純粋なコードレイアウトUIや異なる処理を行う際に便利です.
DeviceSzie.swift
import UIKit
struct DeviceSzie {
    
    enum DeviceType {
        case iphone4
        case iphone5
        case iphone6
        case iphone6p
    }
    
    //      
    static func currentSize() -> DeviceType {
        let screenWidth = UIScreen.mainScreen().bounds.width
        let screenHeight = UIScreen.mainScreen().bounds.height
        
        switch (screenWidth, screenHeight) {
        case (320, 480),(480, 320):
            return .iphone4
        case (320, 568),(568, 320):
            return .iphone5
        case (375, 667),(667, 375):
            return .iphone6
        case (414, 736),(736, 414):
            return .iphone6p
        default:
            return .iphone6
        }
    }
}

使用:ViewController.swift
import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        //   
        let currDevice = DeviceSzie.currentSize()
        /**
        *      
        */
        //    
        if case .iphone4 = currDevice {
            print("    ,     iphone4")
        }
        //    
        if currDevice == .iphone6 {
            print("    iphone6")
        }
        
        /**
        *      
        */
        switch currDevice {
        case .iphone4:
            print("3.5   ")
        case .iphone5:
            print("4   ")
        case .iphone6:
            print("4.7   ")
        case .iphone6p:
            print("5.5   ")
        }
    }
}