gpt4 book ai didi

objective-c - 代码 : How To Adjust Components Height and Weight in Pixel?

转载 作者:太空狗 更新时间:2023-10-30 03:50:31 24 4
gpt4 key购买 nike

今天是我使用 Xcode 的第一天,我已经成功创建了我的第一个单 View 应用程序。

我以前没有 Objective-C 的背景,但我以前做过很多 HTML + CSS。所以,当我设计我的第一个 View 时,我首先在 PSD 上创建,然后我将它一 block 一 block 地切割成文本字段背景、按钮图像等。

不过我今天的发现还是挺有意思的……

我有一个 PNG 图像 483 x 82 像素,但是当我将它用作文本字段背景时,我在 Size Inspector 窗口中看到它有 240 x 40。我不知道 Xcode 如何测量这个,但我相信它不是像素。令人惊讶的是,它与我在 PSD 文件上看到的大小完全相同。

我的问题是,如何让像素中的任何 Xcode 组件具有相同的宽度和高度?

谢谢你...

PS:这是我的按钮的屏幕截图及其大小:

enter image description here

这是我在 Xcode 上的内容,在右侧检查器选项卡上看到,宽度和高度必须为 240 和 40,而不是 483 和 82 像素:

enter image description here

如果我将真实像素 (483x82) 放在检查器选项卡上,该按钮在 iPad 屏幕上会非常大。

最佳答案

首先,关于 iOS 中的非视网膜视网膜图像的一些一般背景:

  • iPhone 3GS 及更早版本、iPad 1、iPad 2 和 iPad mini(仅举几例)使用非视网膜图像。也就是说,您提供的图像将以相同的宽度和高度显示以像素为单位

  • iPhone 4+ 和“新 iPad”(iPad 3) 使用视网膜图像。也就是说,您提供的图像的宽度和高度应该是您希望在屏幕上显示的两倍以像素为单位

这引出了 iOS 应用中的概念:

1 点 = 1 像素在非视网膜设备上 或 2 像素在视网膜设备上

每当您在 Interface Builder (IB) 中设置大小时,您实际上是在设置大小,而不是像素。

此外,您应该始终为非视网膜视网膜 版本提供两张图片。您通过将其命名为与非视网膜版本相同的名称然后附加 @2x 来表示视网膜版本。

例如

my_awesome_image.png    // non-retina image
my_awesome_image@2x.png // retina image

通过这样做,操作系统将自动为您在 Retina 设备上选择正确的图像。

现在我们已经清楚(呃)这个概念了,下面是您在 IB 中实际做的事情:

您已将 ImageView 的宽度和高度设置为 240 pt x 40 pt,默认情况下, ImageView 的 contentMode 属性设置为 UIViewContentModeScaleToFill(因此,很高兴调整指定图像的大小以填充您告诉它的大小...因此图像将在视网膜设备上显示为 480px x 80px - 但请记住,由于所说的 2x 像素,这看起来“大小相同”在非视网膜设备上密度和 240px x 40px)。

设置 ImageView 时,通常需要执行以下操作:

  1. 在您的项目中同时包含视网膜和非视网膜图像
  2. 将 ImageView 的点大小设置为您想要的大小
  3. 将 ImageView 的 contentMode 设置为您想要的任何值(您可以保留也可以不保留默认值)

关于objective-c - 代码 : How To Adjust Components Height and Weight in Pixel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18680469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com