iOS AutoLayout Ambiguous Layout in NavigationViewController
autolayout, ios
Solution
The layout is ambiguous because of timing. If you run the trace after the view is visible, the ambiguity is resolved. https://stackoverflow.com/a/19129807/568295
The underlying "why" is an implementation detail. I would guess they are returning `UIViewNoIntrinsicMetric` for the `intrinsicContentSize` for the placeholder views for the top and bottom layout guides until after the navigation bar is displayed.
Problem
I have a navigation view controller, this view has only main view and when I trace auto layout I see this: ``` *<UIWindow:0x8a9de40> - AMBIGUOUS LAYOUT | *<UILayoutContainerView:0x8bb7a50> | | *<UINavigationTransitionView:0x8bbbfd0> | | | *<UIViewControllerWrapperView:0x8bc55c0> | | | | *<UIView:0x8bc4670> | | | | | *<_UILayoutGuide:0x8bc46d0> - AMBIGUOUS LAYOUT | | | | | *<_UILayoutGuide:0x8bc4990> - AMBIGUOUS LAYOUT | | <UINavigationBar:0x8a94480> | | | <_UINavigationBarBackground:0x8a9c790> | | | | <_UIBackdropView:0x8bb82c0> | | | | | <_UIBackdropEffectView:0x8bb7b60> | | | | | <UIView:0x8bba5d0> | | | | <UIImageView:0x8a9ca90> | | | <UINavigationItemView:0x8a98370> | | | | <UILabel:0x8a987e0> | | | <_UINavigationBarBackIndicatorView:0x8bc1d00> ``` Does somebody know why UILayoutGuide is ambiguous?