Copied a View to a project with Navigation Controller - Frame for “Image View” will be different at run time

守給你的承諾、 提交于 2019-11-30 22:18:56

Select the UIImageView and click [-o-] icon, then choose Reset To Suggested Constraints menu item. Simulated metrics section does nothing in the runtime, it only us to figure out how layout will look like before compiling.

Also there is one more (better) approach, but you have to analyse what constraints UIImageView has and change them accordingly for new layout (with added nav bar). You can try to post screenshot with those constraints here, so we can help you to figure out what happened. Go to Size Inspector in right panel and show us Constraints section.

UPDATE

Your constraints force UIImageView to have the same horizontal align as labels below have and the same width. Plus you have constraints for fixed vertical space from the topmost label and navigation bar, width of UIImageView depends on available space between nav bar and labels. I think it's good solution for current layout (without scrolling), because everything will fit into the screen for both 3.5" and 4" inch displays. In case you want different behaviour let me know in a comments.

I found that unchecking the Adjust Scroll View Insets checkbox for the navigation controller in question cleared the warning

Just faced the same warnings in Xcode version 8.0 Swift 3.0. The warning went away after I checked and unchecked the "Adjust Scroll View Insets" option. Note: they were not checked at the start like in the comment above, so it may clarify for those who have this same warning.

Check/Uncheck the "Adjust Scroll View Insets" option.

It looks like you run your app on a 3.5" screen while you've been designing it for a 4" screen in interface builder. You should set all missing constraints so that autolayout 'knows' how to lay out your image view and labels.

I would set a fixed height for the labels and a variable height for the image view. Then set the content mode of your image view to "aspect fill" (note that in this case you'll loose a part of the image instead of having gray stripes on the left and right sides).

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!