UIWindow 有私有方法 _autolayoutTrace 可以帮助你找到不明确的布局。它非常好用且方便,并输出如下内容:
*<UIWindow:0x13436fd0> - AMBIGUOUS LAYOUT
| *<UIView:0xd5e0b30>
| | *<PbJellyContentContainerView:0xd5e0ff0>
| | | *<UIView:0x20710ee0>
| | | | *<PbMapContainerView:0x20710c90>
| | | | | <MKMapView:0x2070df70>
| | | | | | <UIView:0xd1cca20>
| | | | | | | <MKBasicMapView:0xd1cd020>
....
我的问题不是关于任何模棱两可的。它是关于一些视图前面的星号。它的意义是什么?
我的猜测是它标记了所有使用自动布局的视图。但是系统如何确定这一点?
更新:
似乎星号标记了具有至少一个约束集或具有至少一个约束集的子视图的所有视图。
在不设置约束的情况下将 translatesAutoresizingMaskIntoConstraints 设置为 false 不会给出星号。