【问题标题】:Ios image size guide for different iphones不同iphone的ios图像大小指南
【发布时间】:2017-02-23 03:29:23
【问题描述】:

我只是对按钮、图像视图等需要使用的图像尺寸感到困惑。 我想调整所有 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 上添加多大的图像以支持 iPhone 4 - iPhone 7。

提前致谢。

【问题讨论】:

  • 阅读 guide lines 并创建 3 种尺寸 1x、2x 和 3x

标签: ios objective-c iphone xcode8.2


【解决方案1】:

以下是关于如何在 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.xcassets 中保留三种不同类型的图像,并且只需在要显示的位置提供图像名称即可。它会自动获取相关图像并显示出来。

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

【讨论】:

    【解决方案2】:

    试试这个,你可以要求两种尺寸。一个是 SCREEN_WIDTH * 2, UI_ITEM_HEIGHT * 2,另一个是 SCREEN_WIDTH * 3, UI_ITEM_HEIGHT * 3。然后在你的 Images.xcassets 中放入两个尺寸的图片,命名为 xxx@2x, xxx@3x。

    【讨论】:

      【解决方案3】:

      我想为所有 iPhone 调整图像。

      最简单的方法是使用布局约束。在给定一组适当的约束的情况下,您的代码会尝试执行约束系统会做的事情,但它的灵活性较低,因为它不提供更改几何形状(例如用户旋转设备时)。

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

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

      对于这个按钮,我需要在 xcode 上添加多大的图像以支持 iPhone 4 - iPhone 7[?]

      如果不知道您的UI_ITEM_HEIGHT 常量是什么或者您希望按钮的相对比例是多少,我们不能说,但是如果您知道各种屏幕尺寸,您应该能够自己计算出来。您可以使用我在上面链接的参考资料,或this one,或其他众多参考资料之一。

      【讨论】:

        【解决方案4】:

        【讨论】:

        • 我的按钮宽度 = 屏幕宽度和高度将为 60。谁能具体告诉我我的图像 1x 尺寸应该是多少?
        【解决方案5】:

        你应该简单地使用:

        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 英寸)等于一个像素。高分辨率屏幕有 更高的像素密度。因为同一个像素点比较多 物理空间的数量,每个点有更多的像素。作为一个 因此,高分辨率显示器需要具有更多像素的图像。

        参考here

        【讨论】:

          【解决方案6】:

          伙计们 你可以试试下面的代码:

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

          谢谢。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-09-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-03-11
            • 1970-01-01
            • 2012-03-01
            • 1970-01-01
            相关资源
            最近更新 更多