KRDeviceType
KRDeviceType 是一个用 Swift 编写的简单类,帮助获取 iOS 设备类型以实现布局目的。
安装
#### CocoaPods
只需将 pod 'KRDeviceType'
添加到您的 Podfile,然后在终端中的项目文件夹内运行 pod install
。
在您需要使用 KRDeviceType 的文件中编写 import KRDeviceType
。
如何使用
KRDeviceType 应仅用于布局目的。例如,有时您可能需要为旧设备设置不同的约束,因为这些设备的屏幕尺寸不符合您设计项目的需求。KRDeviceType 类获取有关屏幕尺寸的信息,并使用这些信息来检查当前设备类型。不要使用此类进行准确的设备类型检测(例如,您可能希望检查您的设备是否为精确的 iPhone 5s);
运算符 ==, <=, >=
要获取当前设备类型,您可以使用 KRDevice 的 == 操作符和 DeviceType 枚举。
例如,如果你想检查当前设备是否是iPhone,你可以这样做:
if KRDeviceType() == .iPhone {
// Perform appropiate operations
}
如果你想检查当前设备是否是4.7英寸的iPhone(iPhone 6或iPhone 6s或iPhone 7):
if KRDeviceType() == .iPhone6 {
// Perform appropiate operations
}
你也可以使用等于或小于(<=)或等于或大于(>=)的相等运算符:
if KRDeviceType() <= .iPhone5 { //iPhone 5/5s/SE of iPhone 4s
// Perform appropiate operations (for example, set up constraints for those old devices)
}
if KRDeviceType() >= .iPhone6Plus { //iPhone 6 Plus/ 6s Plus/ 7 Plus or greater
// Perform appropiate operations for 3x scale devices (not only iPhone 6Plus, but possibly future devices with higher resolutions screens)
}
静态变量
要获取当前设备类型,您可以使用以下静态变量之一:
static var isiPhone : Bool // return true if device is iPhone
static var isiPad : Bool // return true if device is iPad
// get device type by checking its screen size
static var isiPhone4s : Bool // iPhone 4s or iPhone 4
static var isiPhone5 : Bool // iPhone 5 or iPhone 5s or iPhone SE
static var isiPhone6 : Bool // iPhone 6 or iPhone 6s or iPhone 7
static var isiPhone6Plus : Bool // iPhone 6 Plus or iPhone 6s Plus or iPhone 7s Plus
static var isiPad2 : Bool // iPad 2
static var isiPadMiniOrAir : Bool // iPad Mini or iPad Retina or iPad Air or iPad Air 2 or iPad Pro 9.7
static var isiPadPro : Bool // iPad Pro 12.9
例如:
if KRDeviceType.isiPad {
// Perform appropiate operations
} else { // iPhone
// Perform appropiate operations
}
要求
- 需要iOS 8.0及以上版本
- 需要XCode 7及以上版本
许可证
KRDeviceType是在MIT许可证下发布的。有关详细信息,请参阅LICENSE。
联系方式
有任何建议或问题?请在Github上创建问题或与我联系。