Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.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
适用于不同iPhone的Ios图像大小指南_Ios_Objective C_Iphone_Xcode8.2 - Fatal编程技术网

适用于不同iPhone的Ios图像大小指南

适用于不同iPhone的Ios图像大小指南,ios,objective-c,iphone,xcode8.2,Ios,Objective C,Iphone,Xcode8.2,我只是对我需要用于按钮、图像视图等的图像大小感到困惑。 我想调整所有iPhone的图像。 屏幕高度/宽度与不同iPhone的比例应该是多少 就像我有一个按钮。我以以下方式创建了- UIButton *takePicButton = [UIButton buttonWithType:UIButtonTypeCustom]; takePicButton.frame = CGRectMake(0, SCREEN_HEIGHT-UI_ITEM_HEIGHT, SCREEN_WIDTH, UI_ITEM

我只是对我需要用于按钮、图像视图等的图像大小感到困惑。 我想调整所有iPhone的图像。 屏幕高度/宽度与不同iPhone的比例应该是多少

就像我有一个按钮。我以以下方式创建了-

 UIButton *takePicButton = [UIButton buttonWithType:UIButtonTypeCustom];
takePicButton.frame = CGRectMake(0, SCREEN_HEIGHT-UI_ITEM_HEIGHT, SCREEN_WIDTH, UI_ITEM_HEIGHT);
[takePicButton setBackgroundImage:[UIImage imageNamed:@"take_photo.png"] forState:UIControlStateNormal];
[self.view addSubview:takePicButton];
[takePicButton addTarget:self action:@selector(takePicture:) forControlEvents:UIControlEventTouchUpInside];
对于这个按钮,我需要在xcode上添加多大的图像来支持iPhone4-iPhone7


提前谢谢。

试试这个,你可以要两种尺码。一个是屏幕宽度*2,用户界面项目高度*2,另一个是屏幕宽度*3,用户界面项目高度*3。然后在图像中放置两个大小的图片。xcassetsxxx@2x, xxx@3x.

您只需使用:

UIImage *imButton = [UIImage imageNamed:@"image.png"];

[YOURBUTTON setImage:imButton forState:UIControlStateNormal];
Xcode将自动使用带有刻度的可用图像,例如:
@2x
@3x

根据我的示例,您的图像将是:

image.png
(20x20像素),
image@2x.png
,(40x40像素)
image@3x.png
,(60x60像素)

分别

引用苹果的话:

图像大小和分辨率

iOS使用坐标系在屏幕上放置内容。这 坐标系基于点的测量,这些点映射到 显示中的像素。在标准分辨率屏幕上,一个点 (1/72英寸)等于一个像素。高解析度的屏幕有 更高的像素密度。因为同一个图像中有更多的像素 物理空间的大小,每个点有更多的像素。作为一个 因此,高分辨率显示器需要更多像素的图像


以下是有关如何在iPhone中设置图像的说明:

•   1x images are for the original iPhone through the 3GS - 'standard' resolution devices (3.5" screens)


•   2x images are for the iPhone 4 and 4S (3.5" Retina screens) and are also used for the iPhone 5, 5s,6,6s,7

•   3x images are for the new iPhone 6+,7+ (5.5" super-Retina [3x] screen)

您必须在Assets.xcsets中保留三种不同类型的图像,只需在要显示图像的位置提供图像名称即可。它将自动拍摄相关图像并显示

您可以查看附加的屏幕截图。你只需要写“bgImag”,它就会从助手处获取相关图像。 关于图像比例,只需为iPhone的最高分辨率(即iPhone 6+)创建图像,然后使用即可获得其余图像资产

我想调整所有iPhone的图像

实现这一点的简单方法是使用布局约束。在给定一组适当的约束条件下,您的代码尝试执行约束系统将执行的操作,但灵活性较低,因为它不提供更改几何体的功能,例如当用户旋转设备时

屏幕高度/宽度与不同iPhone的比例应该是多少[?]

不同的设备具有不同的纵横比。有很多网站(如)列出了屏幕大小。不过,如果可能的话,最好不要对屏幕大小做任何假设。新设备可能采用不同的纵横比,甚至单个设备的屏幕大小也可能不同,这取决于用户选择使用它的方式——旋转和分割屏幕等因素会影响设备使用的屏幕空间的大小和形状

对于这个按钮,我需要在xcode上添加多大的图像来支持iPhone4-iPhone7[?]

我们不能不知道你的
UI\u项目高度是多少,或者你想要按钮的相对比例是多少,但是如果你知道各种屏幕尺寸,你应该能够自己计算出来。您可以使用我上面链接的参考资料,或者,或者其他许多参考资料中的一个。

伙计们 您可以尝试以下代码:

 if (IS_IPHONE4) {
        imgHeight.constant = 150;
    }
    else if (IS_IPAD) {
        imgHeight.constant = 300;
    }
    else if (IS_IPHONE5) {
        imgHeight.constant = 170;
    }
    else {
        imgHeight.constant = 200;
    } 

谢谢。

阅读并创建3个尺寸的1x、2x和3xMy按钮宽度=屏幕宽度和高度将为60。有人能具体告诉我我的图像1x大小应该是多少吗?