Objective c Xcode-图像和文本(长度不同)始终位于中心

Objective c Xcode-图像和文本(长度不同)始终位于中心,objective-c,autolayout,Objective C,Autolayout,我想用顶部的国旗和名字显示用户的当前国家,我希望它们居中,就像它是一张图片一样。我面临的问题是,每个国家的名字长度当然不相等。我希望文本和图像始终居中,因此国旗和名称的总宽度将随国家名称的长度而变化 请看下面的图片,从视觉上了解我的意思-白色背景是屏幕的宽度 自动布局非常容易。将图像和文本嵌入到另一个视图中。添加以下约束: 图像和文本之间的固定距离 容器视图的图像顶部、左侧和底部0 pt 文本的右侧0 pt到容器视图 容器视图在容器中水平居中 定义容器视图y坐标的一些约束(取决于您尝试执行的

我想用顶部的国旗和名字显示用户的当前国家,我希望它们居中,就像它是一张图片一样。我面临的问题是,每个国家的名字长度当然不相等。我希望文本和图像始终居中,因此国旗和名称的总宽度将随国家名称的长度而变化

请看下面的图片,从视觉上了解我的意思-白色背景是屏幕的宽度


自动布局非常容易。将图像和文本嵌入到另一个视图中。添加以下约束:

  • 图像和文本之间的固定距离
  • 容器视图的图像顶部、左侧和底部
    0 pt
  • 文本的右侧
    0 pt
    到容器视图
  • 容器视图在容器中水平居中
  • 定义容器视图y坐标的一些约束(取决于您尝试执行的操作-垂直居中、到superview的顶部距离等)

问题是什么?作为旁注,将所有内容对齐(向左)比居中更好,在用户滚动时看起来更一致。我很想知道这是如何解释文本长度/宽度的?标签计算文本大小,并从
-intrinsicContentSize
返回,布局引擎将其馈送到解算器中。图像大小也会发生同样的情况,除非为图像视图显式设置大小,但通常最好使用图像资产的本机大小,这样就不会出现缩放瑕疵。