2014-09-30 79 views
5

我确实有适用于iOS的应用程序,同时将所有用户界面自动布局为了支持新的iPhone 6和iPhone 6以及我遇到了奇怪的问题,我的滚动视图在iPhone 4s,5s,5s和6 ...在iPhone 6中的工作正常,加上它们不仅仅是垂直滚动,而且也是水平滚动...就像滚动视图的内容大小比两倍像素宽视图本身(所以它水平移动几个像素,然后它反弹)。 我不明白为什么会这样......iOS 8 AutoLayout scrollview在iPhone 6上水平滚动加

回答

11

我终于找到了正确的方法来让它工作...我就是这么做的:

景观层次:
- UIView的(主视图) - 的UIScrollView(我湾主视图的相同的确切大小的) - 包含要被显示在滚动视图的所有东西)

约束的UIView(容器视图:

Containar检视:
- 宽度等于主视图 的一个 - 0引入部分,拖尾,与上海华顶部和底部边缘(其为滚动视图)

的UIScrollView:
- 宽度等于所述一个主视图
- 水平在X轴上的中心视图(中心X)
- 0顶部底部边距与超级视图

+1

这并不适用于我。我也不理解为什么上面的工作,因为内容视图控制UIScrollView,但你设置UIScrollView的宽度 – kgaidis 2014-10-20 20:41:44

+2

我的问题我想是由-16约束引起和尾随空间的滚动视图到它的超级视图添加如果我说我希望滚动视图的窗口大小相同(不是相同的宽度......如果我拖动滚动视图的边框来加载窗口的那些宽度,它会被添加)。将约束放在滚动视图的宽度上并将它居中为X,这给了我一致的一系列约束条件,用于我希望滚动视图看起来像 – Freedom 2014-10-21 11:08:40

+0

@kgaidis - iOS做出时髦的东西来使scrollview与自动布局一起工作:[Apple技术说明UIScrollView和Autolayout](https://developer.apple.com/library/content/technotes/tn2154/_index.html)另一种方法是在布局完成后自己直接在代码中设置UIScrollView.contentSize。从技术说明来看,内部内容的限制似乎并没有达到你认为他们所做的 - 它们并不决定卷动区域的大小。 – ToolmakerSteve 2017-03-29 01:19:41