Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.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
Ios 图像大小_Ios_Uitabbar_Uitabbaritem - Fatal编程技术网

Ios 图像大小

Ios 图像大小,ios,uitabbar,uitabbaritem,Ios,Uitabbar,Uitabbaritem,我正在为我的神父制作图像。我正在制作尺寸为60x60的屏幕,因为视网膜屏幕就是这样使用的。但是,当我使用该尺寸时,它在栏中显示得太大,因此您只能看到部分图像。当我把它缩小到30x30时,它就工作了,但这个尺寸应该是用于非视网膜显示器的。为什么我使用60x60时它不能正确显示?您可能需要将您的视网膜图像重命名为imagename@2x.png当iOS正在寻找标准分辨率图像时,您之所以会出现这种行为,是因为您提供了高分辨率图像 iOS会根据访问设备的分辨率自动为您选择合适的图像大小。因此,您将负责为

我正在为我的神父制作图像。我正在制作尺寸为60x60的屏幕,因为视网膜屏幕就是这样使用的。但是,当我使用该尺寸时,它在栏中显示得太大,因此您只能看到部分图像。当我把它缩小到30x30时,它就工作了,但这个尺寸应该是用于非视网膜显示器的。为什么我使用60x60时它不能正确显示?

您可能需要将您的视网膜图像重命名为
imagename@2x.png

当iOS正在寻找标准分辨率图像时,您之所以会出现这种行为,是因为您提供了高分辨率图像

iOS会根据访问设备的分辨率自动为您选择合适的图像大小。因此,您将负责为非视网膜设备提供“标准分辨率”图像,并为视网膜显示器提供“高分辨率”图像。在iOS中执行此操作的方法是将“@2x”附加到文件名末尾,但在文件扩展名之前,如下所示:

my-image.png     // for non-retina displays (Ex: 30x30 dpi)
my-image@2x.png  // for retina displays (Ex: 60x60 dpi)
my-image@3x.png  // for retina displays(plus editions) (Ex: 90x90 dpi)
然后,当您在XCode项目中引用文件时,只需将文件名提供给标准分辨率(例如,“my image.png”),如果访问设备具有视网膜显示器,则XCode将自动为您选择带有“@2x”后缀的文件。这非常方便,因为它使我们开发者不必检测设备是否有视网膜显示器,以及我们需要提供哪种图像

下面是一个代码示例:

// Select an image named "my-image.png"
UIImage *img = [UIImage imageNamed:@"my-image.png"];

// If the device this code is run on is a retina device,
// then Xcode will automatically search for "my-image@2x.png" and "my-image@3x.png"
// otherwise, it will use "my-image.png"

你可以通过苹果开发者的网站阅读更多关于这个主题的内容:

确保你的60x60视网膜图像在文件名中用
@2x
后缀命名。谢谢你,这很有效!!可能重复的