Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何在图像上定位标签和按钮,以便即使缩放图像,它们也位于图像上的同一位置?_Swift_Autolayout_Ios Autolayout - Fatal编程技术网

Swift 如何在图像上定位标签和按钮,以便即使缩放图像,它们也位于图像上的同一位置?

Swift 如何在图像上定位标签和按钮,以便即使缩放图像,它们也位于图像上的同一位置?,swift,autolayout,ios-autolayout,Swift,Autolayout,Ios Autolayout,我有一个几乎完整的应用程序。我想使用自动布局,但即使我已经搜索了很多关于这个主题,我也找不到一个我可以使用的答案。我可以让它在一个屏幕大小上正确显示,但不能在另一个屏幕大小上正确显示。。。这是我的问题 如何设置必要的约束条件,以便即使计数器针对不同大小的设备进行缩放,标签和按钮仍位于图像上的同一位置?该图像是png图像 我真的很高兴,如果你能回答或指导我的答案,显示如何做类似的事情 这就是我想要的 如果我尝试用自动布局在不同的屏幕大小上进行,就会发生这种情况 这不是我在我的应用程序中使用的相同

我有一个几乎完整的应用程序。我想使用自动布局,但即使我已经搜索了很多关于这个主题,我也找不到一个我可以使用的答案。我可以让它在一个屏幕大小上正确显示,但不能在另一个屏幕大小上正确显示。。。这是我的问题

如何设置必要的约束条件,以便即使计数器针对不同大小的设备进行缩放,标签和按钮仍位于图像上的同一位置?该图像是png图像

我真的很高兴,如果你能回答或指导我的答案,显示如何做类似的事情

这就是我想要的

如果我尝试用自动布局在不同的屏幕大小上进行,就会发生这种情况

这不是我在我的应用程序中使用的相同图像,但它会给你一个想法。 再次感谢

编辑:

感谢您的回答,但正如评论中指出的,第一个答案并没有提供一种方法来缩放不同屏幕尺寸的图像

第二个答案提供了一种方法,但我无法理解答案的第二部分。我需要更多的细节。如果有人能在这个问题上帮助我,我会很高兴


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

您必须为图像视图添加约束。我已经用你的图像创建了一个小项目。这应该可以帮助你开始


因为图像大小会随着屏幕大小的不同而变化,所以不能设置恒定的约束。你需要的是比例约束

将UILabel和UIButton设置为宽度和高度分别与UIImageView的宽度和高度成比例。 要做到这一点:点击你的UILabel

然后按住Ctrl键将其拖动到UIImageView上,选择“等宽度”和“等高度”。

假设UILabel的宽度为100px,UIImageView的宽度为500px。编辑刚刚设置的约束,并将乘数设置为100:500

这将确保对UIImageView宽度的任何修改都会相应地影响UILabel宽度。对高度约束执行相同的操作

对UIButton重复相同的步骤

很遗憾,顶部/底部/尾部/前导约束不能与UIImageView大小成比例设置,但您可以使用填充视图-可以模拟布局约束的透明视图。 您将需要两个填充视图:一个用于顶部约束:

将其高度设置为与UIImageView高度成比例

一个用于引导约束

将其宽度设置为与UIImageView宽度成比例


如果图像不够清晰,我可以为您制作一个小视频。

您确定在图像资源1x、2x和3x中使用了正确缩放的图像吗。我尝试在图像资源和自动布局工作中放置正确大小的图像。我有1x 2x和3x。我用了一个叫Prep的mac应用程序来创建它们,但我不太擅长自动布局。您能告诉我您使用的约束条件吗?我遗漏了什么吗?谢谢我添加了一个示例项目作为答案请记住,在这种情况下,每个设备的图像视图都具有相同的宽度和高度。它不会对不同大小的设备进行缩放,我用它玩过,但正如@Vlad指出的,它不会对不同的屏幕大小进行缩放。有什么办法可以做到吗?谢谢你的回答。我想我能理解第一部分,但我不能理解第二部分。我们是不是要把视线锁定在任何地方?这是我在自动布局中做的最复杂的事情。但我认为我需要学习它。我真的很感激有一个视频。