iOS Swift:如何在动态更改的标签左侧放置图像

iOS Swift:如何在动态更改的标签左侧放置图像,ios,swift,Ios,Swift,我在视图中有一个水平居中的标签和一个图标,我想将图标始终放在标签的左侧 问题是标签文本是动态更改的,我不知道如何调整约束,使图标始终位于标签的左侧 我确实通过按住CTRL键并将图标拖动到标签上并设置水平间距来实现我的目标。但我收到了放错位置的视图框警告 我想知道是否有任何方法可以在不收到错误警告的情况下实现此目的?尝试以下方法: 选择表格和图像,然后在编辑器菜单中选择“包含在视图中” 添加约束以使两个视图在封闭视图中垂直居中。 将图标的左边缘固定到封闭视图。将标签的右边缘固定到视图的右边缘。添加

我在视图中有一个水平居中的标签和一个图标,我想将图标始终放在标签的左侧

问题是标签文本是动态更改的,我不知道如何调整约束,使图标始终位于标签的左侧

我确实通过按住CTRL键并将图标拖动到标签上并设置水平间距来实现我的目标。但我收到了放错位置的视图框警告

我想知道是否有任何方法可以在不收到错误警告的情况下实现此目的?

尝试以下方法:

选择表格和图像,然后在编辑器菜单中选择“包含在视图中”

添加约束以使两个视图在封闭视图中垂直居中。 将图标的左边缘固定到封闭视图。将标签的右边缘固定到视图的右边缘。添加用于设置图标和标签之间所需间距的约束

添加一个约束以使整个封闭视图在superview中居中,并添加另一个约束以将其固定在所需的垂直位置

编辑: 我测试了这个,它工作得很好

编辑2: 我决定把我的测试变成一个演示项目,并写一篇关于它的开发博客文章

您可以在此处阅读博文:


.

尝试对图标和标签使用自动调整大小的遮罩

icon.autoresizingMask = (UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin)

label.autoresizingMask = UIViewAutoresizingFlexibleRightMargin

你能在故事板上做一个你的视图的屏幕截图和一个显示你设置的约束的屏幕截图,这样我们就可以帮助你了。