我有一个针对iOS的应用程序,在将所有UI调整为自动布局和大小类以支持新的iPhone 6和iPhone 6 Plus时,我遇到了一个奇怪的问题... 所有滚动视图在iPhone 4s、5、5s和6上工作正常... 在iPhone 6 Plus上,它们不仅垂直滚动而且水平滚动... 就像滚动视图的内容大小比视图本身多几个像素(因此它会水平移动几个像素然后反弹)。 我不理解为什么会发生这种情况...
我有一个针对iOS的应用程序,在将所有UI调整为自动布局和大小类以支持新的iPhone 6和iPhone 6 Plus时,我遇到了一个奇怪的问题... 所有滚动视图在iPhone 4s、5、5s和6上工作正常... 在iPhone 6 Plus上,它们不仅垂直滚动而且水平滚动... 就像滚动视图的内容大小比视图本身多几个像素(因此它会水平移动几个像素然后反弹)。 我不理解为什么会发生这种情况...
我终于找到了一个正确的方法让它工作... 我是这样做的:
视图层次结构:
- UIView (主视图)
- UIScrollView (我希望与主视图大小完全相同的滚动视图)
- UIView (容器视图,包含所有要在滚动视图中显示的内容)
约束条件:
容器视图:
- 宽度等于主视图的宽度
- 左、右、上、下边距均为0(即与其父视图——滚动视图的间距)
UIScrollView:
- 宽度等于主视图的宽度
- 在X轴水平方向上居中视图(即X轴中心点)
- 上下边距均为0(即与其父视图相对)