如何在图像上放置标签和按钮,以便即使缩放图像,它们也位于图像上的同一位置?
How do I position a label and a button on an image so that even if the image is scaled they are at the same place on the image?
我有一个几乎完整的应用程序。我想使用自动布局,但即使我搜索了很多关于这个主题的信息,我也找不到我可以使用的答案。我可以让它在一种屏幕尺寸上正确显示,但不能在另一种屏幕尺寸上显示...这是我的问题
如何设置必要的约束,以便即使针对不同尺寸的设备缩放计数器,标签和按钮也位于图像上的同一位置? (图片为png图片)
如果您能回答或指导我找到说明如何做类似事情的答案,我将非常高兴。
这就是我想要的
如果我尝试使用自动布局并在不同的屏幕尺寸上进行操作,会发生这种情况。
- 这与我在我的应用程序中使用的图片不同,但它会给你一个想法。)
再次感谢
编辑:
感谢您的回答,但正如评论中指出的那样,第一个答案没有提供针对不同屏幕尺寸缩放图像的方法。
第二个答案提供了一种方法,但我无法理解 answer.I 的第二部分需要更多细节。如果有人可以在这个问题上帮助我,我会很高兴。
我还在为这个问题苦苦挣扎。如果我按照第二个答案 Xcode 说我需要第一个填充视图的 X 位置、宽度和第二个填充视图的 Y 位置、高度 view.I 卡在这一点上。我不确定这些观点有什么价值。
您必须添加关于图像视图的约束。我用你的图片创建了一个小项目。这应该可以帮助您入门。
由于图片尺寸会随着屏幕尺寸的不同而变化,所以不能设置常量约束。你需要的是比例约束。
- 将
UILabel
和 UIButton
的宽度和高度分别与 UIImageView
的宽度和高度成比例。
为此:单击您的 UILabel
并按住 Ctrl 将其拖到 UIImageView
上,选择 等宽 和 等高 。
假设您的 UILabel 的宽度为 100px,您的 UIImageView 的宽度为 500px。编辑刚刚设置的约束,并将乘数设置为 100:500
这将确保对 UIImageView
宽度的任何修改都会相应地影响 UILabel
宽度。对高度限制做同样的事情。
对 UIButton
重复相同的步骤。
- 不幸的是,top/bottom/trailing/leading 约束无法设置为与
UIImageView
大小成比例,但您可以使用 填充视图 - 可以模仿布局的透明视图约束。
您将需要两个 填充视图:一个用于顶部约束:
(设置其高度与UIImageView高度成正比)
还有一个用于前导约束
(设置其宽度与UIImageView的宽度成正比)
如果看的不够清楚,我可以做个小视频给大家。
我有一个几乎完整的应用程序。我想使用自动布局,但即使我搜索了很多关于这个主题的信息,我也找不到我可以使用的答案。我可以让它在一种屏幕尺寸上正确显示,但不能在另一种屏幕尺寸上显示...这是我的问题
如何设置必要的约束,以便即使针对不同尺寸的设备缩放计数器,标签和按钮也位于图像上的同一位置? (图片为png图片)
如果您能回答或指导我找到说明如何做类似事情的答案,我将非常高兴。
这就是我想要的
如果我尝试使用自动布局并在不同的屏幕尺寸上进行操作,会发生这种情况。
- 这与我在我的应用程序中使用的图片不同,但它会给你一个想法。)
再次感谢
编辑:
感谢您的回答,但正如评论中指出的那样,第一个答案没有提供针对不同屏幕尺寸缩放图像的方法。
第二个答案提供了一种方法,但我无法理解 answer.I 的第二部分需要更多细节。如果有人可以在这个问题上帮助我,我会很高兴。
我还在为这个问题苦苦挣扎。如果我按照第二个答案 Xcode 说我需要第一个填充视图的 X 位置、宽度和第二个填充视图的 Y 位置、高度 view.I 卡在这一点上。我不确定这些观点有什么价值。
您必须添加关于图像视图的约束。我用你的图片创建了一个小项目。这应该可以帮助您入门。
由于图片尺寸会随着屏幕尺寸的不同而变化,所以不能设置常量约束。你需要的是比例约束。
- 将
UILabel
和UIButton
的宽度和高度分别与UIImageView
的宽度和高度成比例。
为此:单击您的 UILabel
并按住 Ctrl 将其拖到 UIImageView
上,选择 等宽 和 等高 。
假设您的 UILabel 的宽度为 100px,您的 UIImageView 的宽度为 500px。编辑刚刚设置的约束,并将乘数设置为 100:500
这将确保对 UIImageView
宽度的任何修改都会相应地影响 UILabel
宽度。对高度限制做同样的事情。
对 UIButton
重复相同的步骤。
- 不幸的是,top/bottom/trailing/leading 约束无法设置为与
UIImageView
大小成比例,但您可以使用 填充视图 - 可以模仿布局的透明视图约束。
您将需要两个 填充视图:一个用于顶部约束:
(设置其高度与UIImageView高度成正比)
还有一个用于前导约束
(设置其宽度与UIImageView的宽度成正比)
如果看的不够清楚,我可以做个小视频给大家。