Extra top white space since IOS 8 using autolayout

2020-02-24 02:57发布

问题:

Since the new update to IOS8, i have an extra white space over my contentview in my scrollview. My content view should be centered in my scrollview and it's work fine on IOS7.

Here is the result :

Here is the storyboard version which doesn't have white space :

I'm wondering what could cause this extra space, is there anything new in ios8 that will cause my content view to have extra space ?

Maybe i need to change how i layout my view ?

Thanks!

EDIT: My solution was to only uncheck adjust scroll bar inset in my views which had the problem. However the solution below that i accepted works too.

回答1:

I had this exact same problem, and I came up with two possible solutions, both of which are awful and make me ashamed to be a programmer:

  1. Constrain the scrollable view's top to the top of the scroll view, but with a constant of -64, which is the height of the extra space. I don't know why.
  2. Add an empty UIImageView as a sibling of the UIScrollView, and constrain it to be flush with all four sides of the root view.

I'm hoping that it's just an iOS 8 bug so that I can take out my hack and step down off the ledge.



回答2:

I faced the same issue in iOS 8, following is solution I found: - Select View Contoller (in storybord) in which you have added the scroll view - In "Property Inspector" in "Layout" section un-check "Adjust Scroll View Insets"



回答3:

Try this at your viewDidLoad for that scrollview:

self.automaticallyAdjustsScrollViewInsets = NO;


回答4:

untick the Extend Edges: under top bars of the main view and make the top distance of the subview 0 instead of negative value. this works for me.