我正在使用xcode
与Swift
开发一个非常简单的应用程序,该应用程序只能在iphone7上运行。我的应用程序中有一堆UIImages
和UIButtons with images
,我收到了一堆要在应用程序中使用的PNG。
它们的名称或多或少是image1.png,image2.png等等。 如果我检查PNG的尺寸,它们看起来就对我来说。
例如,一张背景图片具有以下尺寸:750 x 1335
。
一旦我将这个PNG添加到我的应用程序,并将其添加到故事板,图像看起来很大。
我需要手动输入以下尺寸350 x 887
(尺寸的一半),以使图像适合屏幕上手机的尺寸。
我不知道这里发生了什么!这是我做错了或导出的PNG出了什么问题?
答案 0 :(得分:0)
iPhone的物理屏幕分辨率很少按原样引用,而是以点数计算。在早期的iPhone上,1点实际上是1像素。在现代iPhone上,1点实际上代表2x2像素,有时是3x3像素(对于Plus型号)。为了使一切正常,UI元素(按钮等)的所有图形都以两种或三种分辨率提供:
image1.png
)image1@2x.png
)image1@3x.png
)你有两种管理方式。
首先是这样的:
重命名所有图片,以便最后都有@ 2x.png。像这样:
image1.png becomes image1@2x.png
image2.png becomes image2@2x.png
现在,您可以通过调用其名称(最后省略@ 2x)将图像分配给按钮,背景和其他任何内容,如下所示:image1
,image2
等分辨率现在适合。
您还可以在故事板中的下拉列表中选择图像,以将它们应用于不同的元素(如所述按钮)。
第二种方式类似
您不要重命名图像,并将它们原样拖放到Assets.xcassets
文件夹中。然后手动将图像的缩略图拖动到2x插槽中。这是一个名为'gear'的图像示例:
有关iOS设备的物理屏幕分辨率与其内部表示(以点为单位)的不同之处的更多信息,请参阅此便捷指南:https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions
答案 1 :(得分:0)
我认为你的内容模式不对。这是如何解决它:
View
- > Content Mode
至Aspect Fit
这是关于图像视图的content mode
的文档
https://useyourloaf.com/blog/stretching-redrawing-and-positioning-with-contentmode/
我希望它可以帮到你