Chapter 14 UINavigationController - Update Frames

p243

“Your Detail View Controller interface may have misplaced views now that it is contained within a navigation controller. If it does, select the stack view and click the Update Frames button in the Auto Layout constraint menu.”

XCode 8.3.3
Update Frames is ‘greyed out’ or unavailable after selecting Vertical Stack View. To get the frames to update, I clicked on the Detail View Controller, then show Attributes Inspector. Unchecked and checked “Under Top Bars” within the View Controller > Extend Edges section.

1 Like

I had the same issue.

For me, the stack view containing the “Name” label and its text field appeared hidden underneath the navigation bar. I presume that the reason why this view controller was still shown properly in the simulator was because the auto layout constraints were still configured correctly to use the top layout guide. Blue lines all around, despite the fact that the top blue strut was reaching behind the navigation bar.

My workaround was to update the storyboard by changing the .top constraint’s constant (i.e. the one connecting the stack view to the top layout guide’s bottom) from 8 to 9, then back to 8.

Thanks, it’s working for me only when “Under Top Bars” is unchecked which is the opposite what it is supposed to do. I was hoping unchecking/checking would update the view, but this could be an Xcode bug?

This too also worked for me. I still clicked on Updated Frames and it re-adjusted the Date Created label down a bit to accommodate its own restraint. Thanks for sharing the fix!

I’m using Xcode 10.2.1 . The Update Frame icon is grayed out. 960design’s suggestion of clicking on the Design View Controller, showing the Attributes Inspector, and unchecking the “Under Top Bars” box worked for me. Checking the box again returned it to being hidden under the new navigation bar.