Autolayouts:如何用 two/one 个内在元素居中?

Autolayouts: how to center a group with two/one intrinsic elements?

这个问题可能不是很独特,但仍然找不到解决方案。 布局如图所示:

所以,我有两个宽度不同的元素,其中一个(或两个)是动态的(标签的值可以改变)。所以,我需要的是将其居中,我们称之为 "group"。标签必须是不同的元素,因为我可以应用不同的字体大小和外观。如果那将是一个文本编辑器,它只是带有不同标记的一行。但是不知道如何使用 Autolayout 来实现。有什么建议吗?

不要建议将标签放在容器内并使容器居中(除非有办法正确设置容器的宽度(也是动态的) ),因为标签宽度是动态的,所以将这些元素置于容器内居中的问题仍然悬而未决。

UPD:改进了附加图片。

您可以将它们包裹在一个视图中,并将该视图置于屏幕中心。

详细:

抓取一个空视图并将其拖到界面构建器中,将其设置为 centerX 和任何高度约束,然后向其添加 2 个标签,将第一个标签的前导钩到该视图的前导并为其提供 CenterY 约束,使第二个标签前导等于第一个标签的尾部并将它的尾部挂钩到视图的尾部并给它 centerY 约束这样你就有一个动态视图宽度取决于它的子视图但这只适用于具有预定义宽度或固有内容大小的子项标签和按钮。

正在行动:

这是一张关于如何使用约束创建它的 gif 图

group intrinsic gif