1)在故事板中创建UIViewController;
2)在UIViewController的View视图中添加ScrollView,并在每一边添加0个约束.
3)在scrollview中添加元素,结果如下:
在我启动我的应用程序全部作品之后,但是:
1)如何禁用水平滚动?我向右边添加0约束到我的scrollView 0约束到我的uilabel的右边(因为你看到屏幕上的一些原因,它没有附加到右边,它有不同的约束,但在属性我设置约束= 0)和,我想,标签文本应该在我的屏幕边界,但是当我启动应用程序,我可以滚动到右边,即uilable文本没有包装,我的scrollview只是调整大小以适应文本.我试图设置我的scrollView在代码:scrollView.contentSize = CGSize(UIScreen.mainScreen().bounds.width,height:800),但没有帮助.
2)如果我滚动很多,空格出现,这不是很酷,怎么解决?
解决方法
领先空间和尾随空间无法设置特定的视图宽度,它们只是拉伸它们.在常规视图中,它们不会超过视图的宽度,但scrollView是一个特殊视图,实际上具有无限的内容宽度.因此,scrollView中的尾随空格和前导空间约束将视图的宽度更改为其最大可能值(如果使用UILabel,则可以看到调整大小以适应文本).
为了避免水平滚动,您需要设置每个视图的特定宽度,小于或等于scrollView宽度.视图的具体宽度可以用宽度约束设置.
而不是设置每个视图宽度,更好地添加一个视图容器和设置宽度,并在其内部根据需要放置视图.
视图层次结构
View -> ScrollView -> ContainerView -> UILabel -> UILabel -> ... other views that you need
自动布局限制:
ScrollView -> leading space to View : 0 -> trailing space to View : 0 -> top space to View : 0 -> bottom space to View : 0 Container View -> leading space to ScrollView : 0 -> trailing space to ScrollView : 0 -> top space to ScrollView : 0 -> bottom space to ScrollView : 0 -> width equal to ScrollView : 0
设置宽度等于约束ctrl从容器视图拖动到scrollView.
2)垂直滚动取决于内容的总高度.如果containerView中的最后一个元素具有超大的底层空间值,空格就可以了.
还是你的意思是反弹效果?您可以禁用scrollView的垂直反弹.