Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 基于屏幕上显示的设备的快速图像大小_Swift_Uiimage - Fatal编程技术网

Swift 基于屏幕上显示的设备的快速图像大小

Swift 基于屏幕上显示的设备的快速图像大小,swift,uiimage,Swift,Uiimage,我做了一个视图控制器。上面显示了很多信息,包括标签和图像。我想将其设置为,如果使用的设备是iPhone4,则不会显示图像,以帮助保护view controller的不动产。如何在Swift中执行此操作?您可以使用此代码在运行时检测设备: var device = UIDevice.currentDevice().model 用于检测设备(如iPhone 4): 此字符串将显示设备型号。例如,iPhone3,1表示它是iphone4 您可以在此页面中找到每个设备(包括iPod和iPad

我做了一个视图控制器。上面显示了很多信息,包括标签和图像。我想将其设置为,如果使用的设备是iPhone4,则不会显示图像,以帮助保护view controller的不动产。如何在Swift中执行此操作?

您可以使用此代码在运行时检测设备:

     var device = UIDevice.currentDevice().model
用于检测设备(如iPhone 4):

此字符串将显示设备型号。例如,
iPhone3,1
表示它是iphone4

您可以在此页面中找到每个设备(包括iPod和iPad)的字符串:

上述方法仅适用于真实设备,而不适用于模拟器

如果您只想在特定屏幕尺寸上隐藏UIImageView,而不考虑设备类型,则可以使用以下方法

if UIScreen.mainScreen().nativeBounds.height == 960.0 {
   // code for iPhone 4 or 4S
} else {
    // code for the rest
}

像莱昂纳多·萨维奥·达布斯(Leonardo Savio Dabus)回答的那样检查宽度是行不通的,因为iPhone 5的宽度与iPhone 4相同,但iPhone 5的屏幕比iPhone 4大。

他可以简单地使用if语句来确定字符串是否是,例如,iPhone 3,1。如果是,那么他可以设置UIImageView.hidden=true如果他只想在iPhone4上隐藏UIImageView,那么他需要在If语句中包含3个字符串
如果设备==(“iPhone3,1”| |“iPhone3,2”| |“iPhone3,3”){…}
这将更易于定制,因为他可能希望在iPhone4S上显示图像,因为iPhone4S将具有更大的处理能力(假设他在iPhone4上隐藏图像视图,因为它会比较滞后)。对不起,我之前无意中发布了我未完成的答案。你可以看看我上面编辑的答案。我注意到的是iOS模拟器没有识别出这一点?尽管没有这个设备进行测试,但是否还有其他方法来测试它?使用模拟器使它工作的唯一方法是检查设备的本机边界。
if device == "iPhone3,1" {
    imageview.hidden = true
}
if UIScreen.mainScreen().nativeBounds.height == 960.0 {
   // code for iPhone 4 or 4S
} else {
    // code for the rest
}