加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – Xcode:如何在像素中调整组件的高度和重量?

发布时间:2020-12-14 18:00:18 所属栏目:百科 来源:网络整理
导读:今天是我使用 Xcode的第一天,我已经成功创建了我的第一个单视图应用程序. 我以前没有关于Objective-C的背景,但我过去做了很多HTML CSS.因此,当我设计我的第一个视图时,我首先在PSD上创建然后我逐个剪切它以用于文本字段背景,按钮图像等. 但我今天发现的很有
今天是我使用 Xcode的第一天,我已经成功创建了我的第一个单视图应用程序.

我以前没有关于Objective-C的背景,但我过去做了很多HTML CSS.因此,当我设计我的第一个视图时,我首先在PSD上创建然后我逐个剪切它以用于文本字段背景,按钮图像等.

但我今天发现的很有趣……

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

我的问题是,如何为像素中的任何Xcode组件提供相同的宽度和高度?

谢谢…

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

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

如果我将真实像素(483×82)放在检查器选项卡上,那么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

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

既然我们对这个概念很清楚,那么这就是你在IB中实际做的事情:

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

在设置图像视图时,通常需要执行以下操作:

>在您的项目中包括视网膜和非视网膜图像>将图像视图的点大小设置为您想要的大小>将图像视图的contentMode设置为您想要的任何内容(您可能希望也可能不希望保留默认值)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读