2017-02-23 56 views
0

我有一个几乎完整的应用程序。我想使用自动布局,但即使我已经搜索了很多关于此主题的内容,但我找不到可以使用的答案。我可以得到它显示在一个屏幕尺寸正常,但没有其他...这里是我的问题如何在图像上放置标签和按钮,以便即使缩放图像,它们也位于图像上的相同位置?

我把必要的约束如何做到这一点,即使计数器缩放为不同尺寸的设备,标签和该按钮在图像上的相同位置? (图像是PNG图像)

我真的很高兴,如果你能回答或直接我展示了如何做类似的事情的答案。

这就是我想要 Demo Image

这是,如果我尝试用自动布局,在不同的屏幕尺寸做会发生什么。

Demo Image 2

  • 这是不是我用我的应用程序相同的图像,但它会给你一个想法)

再次感谢

编辑:

感谢您的解答,但正如评论中指出的那样,第一个答案不能提供缩放不同屏幕尺寸图片的方法。

第二个答案提供了一种方法,但我不明白的answer.I的第二部分需要多一点点的细节。如果有人能帮我解决这个问题,我会很高兴。

我仍然有这个问题挣扎。如果我按照第二个答案Xcode说我需要X位置,第一个填充视图的宽度和Y位置,第二个填充视图的高度。我被卡在这一点。我不确定这些观点有什么价值。

+0

您确定您在图片资源中使用正确缩放的图片(1x,2x和3x)。我尝试在图片资源和自动布局工作中放置正确大小的图片。 –

+0

我有1x 2x和3x。我使用名为Prepo的Mac应用程序来创建它们,但我不擅长自动布局。你能告诉我你使用的约束吗?我错过了什么吗?谢谢 – TheTeacher33

+0

我已经添加了一个示例项目作为答案 –

回答

0

由于图像的大小将在不同的屏幕尺寸改变,你不能设置固定的限制。你需要的是比例约束。

  1. 设置你的UILabelUIButton有宽度和高度的比例分别为UIImageView宽度和高度。

要做到这一点:点击你UILabel

enter image description here

和Ctrl它拖到UIImageView,选择相等宽度相等的高度enter image description here

假设你的UILabel的宽度为100px,而你的UIImageView的宽度为500px。编辑你刚才设置的约束,并设置乘数为100:500 enter image description here

这将确保在UIImageView宽度的任何修改,将相应影响UILabel宽度。对高度限制做同样的事情。

UIButton重复相同的步骤。

  • 的顶部/底部/后/领先约束不能设置正比于UIImageView大小不幸的是,但可以有填料视图 - 可以模仿布局约束透明视图。
  • 您将需要两个填料观点:一个顶级的约束: enter image description here

    (设置它的高度是成正比的UIImageView的高度)

    和一个领导约束

    enter image description here

    (设置其宽度与UI成正比ImageView width)

    如果不够清楚,我可以为你制作一个小视频。

    +0

    感谢您的回答。我认为我能够遵循第一部分,但我无法理解第二部分。我们是否将观点固定在任何地方?这是我在自动布局中做的最复杂的事情,但我想我需要学习它。我真的很感谢视频。 – TheTeacher33

    1

    你必须相对于图像视图添加约束。我用你的形象创建了一个小项目。这应该有助于你开始。

    https://1drv.ms/u/s!Aq8sK_MQLIL9gxMl-lBOMHkToudU

    +0

    请记住,在这种情况下,图像视图将每个设备具有相同的宽度和高度。它不会针对不同尺寸的设备进行缩放 – Vlad

    +0

    我玩过这个游戏,但是@Vlad指出它不适合不同尺寸的屏幕。任何方式来实现这一目标? – TheTeacher33

    相关问题