- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图识别 iPad Retina 是否有我的应用程序,然后更改我的代码中的某些内容。到目前为止,我从互联网上找到了这张模型图,而且我还从 iPad Pro 上找到了这张模型图。
public enum Model : String {
case simulator = "simulator/sandbox",
iPod1 = "iPod 1",
iPod2 = "iPod 2",
iPod3 = "iPod 3",
iPod4 = "iPod 4",
iPod5 = "iPod 5",
iPad2 = "iPad 2",
iPad3 = "iPad 3",
iPad4 = "iPad 4",
iPhone4 = "iPhone 4",
iPhone4S = "iPhone 4S",
iPhone5 = "iPhone 5",
iPhone5S = "iPhone 5S",
iPhone5C = "iPhone 5C",
iPadMini1 = "iPad Mini 1",
iPadMini2 = "iPad Mini 2",
iPadMini3 = "iPad Mini 3",
iPadAir1 = "iPad Air 1",
iPadAir2 = "iPad Air 2",
iPhone6 = "iPhone 6",
iPhone6plus = "iPhone 6 Plus",
iPhone6S = "iPhone 6S",
iPhone6Splus = "iPhone 6S Plus",
iPadPro = "iPad Pro",
iPadRetina = "iPad Retina",
unrecognized = "?unrecognized?"
}
public extension UIDevice {
public var type: Model {
var systemInfo = utsname()
uname(&systemInfo)
let modelCode = withUnsafeMutablePointer(&systemInfo.machine) {
ptr in String.fromCString(UnsafePointer<CChar>(ptr))
}
var modelMap : [ String : Model ] = [
"i386" : .simulator,
"x86_64" : .simulator,
"iPod1,1" : .iPod1,
"iPod2,1" : .iPod2,
"iPod3,1" : .iPod3,
"iPod4,1" : .iPod4,
"iPod5,1" : .iPod5,
"iPad2,1" : .iPad2,
"iPad2,2" : .iPad2,
"iPad2,3" : .iPad2,
"iPad2,4" : .iPad2,
"iPad2,5" : .iPadMini1,
"iPad2,6" : .iPadMini1,
"iPad2,7" : .iPadMini1,
"iPhone3,1" : .iPhone4,
"iPhone3,2" : .iPhone4,
"iPhone3,3" : .iPhone4,
"iPhone4,1" : .iPhone4S,
"iPhone5,1" : .iPhone5,
"iPhone5,2" : .iPhone5,
"iPhone5,3" : .iPhone5C,
"iPhone5,4" : .iPhone5C,
"iPad3,1" : .iPad3,
"iPad3,2" : .iPad3,
"iPad3,3" : .iPad3,
"iPad3,4" : .iPad4,
"iPad3,5" : .iPad4,
"iPad3,6" : .iPad4,
"iPhone6,1" : .iPhone5S,
"iPhone6,2" : .iPhone5S,
"iPad4,1" : .iPadAir1,
"iPad4,2" : .iPadAir2,
"iPad4,4" : .iPadMini2,
"iPad4,5" : .iPadMini2,
"iPad4,6" : .iPadMini2,
"iPad4,7" : .iPadMini3,
"iPad4,8" : .iPadMini3,
"iPad4,9" : .iPadMini3,
"iPhone7,1" : .iPhone6plus,
"iPhone7,2" : .iPhone6,
"iPhone8,1" : .iPhone6S,
"iPhone8,2" : .iPhone6Splus,
"iPad6,3" : .iPadPro,
"iPad6,4" : .iPadPro,
"iPad6,7" : .iPadPro,
"iPad6,8" : .iPadPro
]
if let model = modelMap[String.fromCString(modelCode!)!] {
return model
}
return Model.unrecognized
}
}
我用这个简单的大小写切换代码检查了用户拥有的模型
switch UIDevice().type {
case .iPhone4S:
print("iphone4s")
case .iPhone5:
print("iphone5")
case .iPadAir2:
print("mos def im an ipad air 2")
case .iPadPro:
print("am i an ipad Pro?")
default:
print("i'm a pretty little simulator")
}
所以我的问题是这些首先,因为我没有ipad Pro,所以代码正确吗?最后,我应该怎么做才能识别 ipad Retina ???
非常感谢!
最佳答案
不要自己编写这些条件。使用此 pod 确定您的应用程序在哪个设备上运行,如果 apple 发布另一种设备类型,只需执行 pod 更新,其余的将由您自己完成。 https://github.com/dennisweissmann/DeviceKit
关于ios - iPad Retina 模型快速识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37215952/
我没有 Retina 设备,但我一直在网上看到这个讨论。我已阅读有关为配备 Retina 显示屏的设备提供 2 倍图像尺寸的解决方案,以确保位图不会变得模糊。 但是,我不明白这是如何工作的。首先,正如
根据我的研究,我了解到您想将图像的大小加倍以使其在视网膜显示器上看起来更清晰。 对于尺寸为500X500 px的图片,我想将它们存储为1000X1000。 如有错误请指正 现在的问题是,通过使用 Go
目前,我的应用程序中的所有 UIImageView 都设置为 scaleToFill 模式,仅使用一个视网膜图像而不设置任何非视网膜图像。我想在非视网膜显示器上,额外的分辨率将自行丢失。 问题:这种方
我有以下媒体查询,以选择 iPad 视网膜和更小的显示器。 @media only screen and (min-device-width : 768px) and (max-device-widt
在深入研究我的下一个项目之前,我正在寻求建议。我想支持 iOS 现在支持的所有各种分辨率(视网膜、非视网膜 iPhone 和所有 3 款 iPad)。 开发人员完成这项工作最常用的方法是什么?我看到过
有没有一种方法可以在 Windows 上模拟 Retina 显示屏来测试 HiDPI 显示屏(例如 Retina)的网站? 我在标准的 24"1920x1080 显示器上运行 Windows。昨晚我在
我遇到了麻烦。我正在使用带有 UIKit 的 cocos2d。 Cocos2d版本为1.0.1。 我已经按照文档中的建议将平铺 map 添加到项目中: http://www.cocos2d-iphon
有人可以告诉我 iPhone/iPad 和 iPhone(Retina)/iPad(Retina) 的理想图像分辨率是多少吗?我从苹果网站和维基百科上获取了这些测量值。见下文: 普通 iPhone 4
这是我第一次开发应用程序。 根据 Apple iOS 人机界面指南,UIBarButtonItem 图像尺寸约为 20 x 20 和约 40 x 40。 我知道20x20是针对iPhone4之前版本的
我正在使用 Assets 目录来管理我应用程序的所有图像,并且我“正常”加载这些图像 [UIImage imageNamed:@"my-image"]; 我想做的是从 Assets 目录加载图像的非视
这可能是一个小众问题,实际上更像是一个小问题,但是: 我可以让 Xcode 自动构建到 iPhone Retina 模拟器和 iPad 非 Retina 模拟器吗? 即使使用 27"iMac,Reti
我有一个问题可能听起来很奇怪,但作为一个新手,我猜 no question 是一个愚蠢的问题...... 我是否需要为所有四台设备使用单独的 Storyboard? 现在我有两个 Storyboard
我是 opengl es 2.0 开发的新手。我从屏幕截图中获得的 UIImage 在非视网膜设备(iphone 4 和 ipad)上看起来不错,但是当我从视网膜设备上获得屏幕截图时,它似乎放大了。这
我正在使用 XCode 4.5 版。对于每个 Xib,我可以选择大小为“Retina 3.5 全屏”或“Retina 4 全屏”。 我的疑问是:如果我选择 Retina 4 全屏,我的应用程序能否在旧
我正在使用最新的 xCode 5,我正在尝试为我的通用应用程序设置启动图像。当我选择 Launch images for iPhone 时,一切正常。但是现在,当我尝试为 iPad 选择启动图像时,x
今天,我更新了Xcode4.5,并在我的电脑上安装了Xcode4.3,安装后我打开Xcode4.5,当我想运行我的应用程序时,只有IOS Device,iPad 6.0模拟器和 iPhone 6.0
我正在使用模拟器为 iPhone 5 准备我的应用程序,我发现了一个奇怪的问题,在我的一个 View 中,我的几个按钮在 iPhone(Retina 4 英寸) 模拟器,但在 iPhone(Retin
我们的目标是模拟开发人员可以使用原生 iOS 应用执行的操作:即,使用基于单位的单一布局来适应 Retina 显示屏 (640x960) 和非 Retina 显示屏 (320x480)。 所有 iOS
这是我第一次提问,因为我是新来的。非常感谢您的回答!感谢您抽出时间。 使用Xcode 5.1.1 这是我的问题,在模拟器或实际设备上测试时,结果不同。请参阅食物图像上所附的屏幕截图。当我在模拟器iPh
我更新了一个旧应用程序,修复了一个小错误。该应用程序是使用 Xcode 5.1 编译的。(无法使用 Assets 目录或添加 iPhone 6 和 6 Plus 图像。)但是,当我尝试提交它进行审核时
我是一名优秀的程序员,十分优秀!