Ios 在两个标签并排的情况下看不到预期的模糊性

Ios 在两个标签并排的情况下看不到预期的模糊性,ios,autolayout,Ios,Autolayout,我将两个UILabel并排布置,希望正确的标签能够占据它所需要的空间。像这样: ------------------------------ |[left label ][right label]| ------------------------------ 我用拥抱和压缩来实现这一点,它是有效的 我感到惊讶的是,当我删除拥抱和压缩配置(即保留默认配置)时,hasmigiouslayout不会返回true 正如预期的那样,我得到了随机结果,比如右标签占用的空间比需要的多,或者

我将两个
UILabel
并排布置,希望正确的标签能够占据它所需要的空间。像这样:

 ------------------------------ 
|[left label     ][right label]|
 ------------------------------ 
我用拥抱和压缩来实现这一点,它是有效的

我感到惊讶的是,当我删除拥抱和压缩配置(即保留默认配置)时,
hasmigiouslayout
不会返回
true

正如预期的那样,我得到了随机结果,比如右标签占用的空间比需要的多,或者左标签占用了所有空间,而右标签没有留下任何空间

为什么
hasmigiouslayout
没有返回
true

我从
viewdilayoutsubviews
调用它:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    if view.hasAmbiguousLayout() {
        print("Layout is ambiguous!")
        view.exerciseAmbiguityInLayout()
    } else {
        print("Layout is not ambiguous") // I'm always getting this
    }
}

谢谢

您是否将两个标签之间的关系更改为>=或在任何情况下,我使用标签之间的宽度关系。我想有了抗压性和拥抱就足够了。但如果没有它们,就会出现歧义。