我在我的ViewController中添加了一个UIScrollView。并在Scrollview顶部查看。我做了以下事情:
在原始视图中放置滚动视图,并设置顶部,左侧,右侧和底部约束。取消选中约束到边距。
在scrollView中添加了一个UIView(用于保存我的标签等)并添加了top,left,right和bottom约束,约束了未选中的边距。并设置与原始视图相等的宽度
然后,我在滚动视图中放置的视图中添加了一个图像视图和三个标签。并为它们添加顶部,左侧,右侧,底部和高度限制。
滚动视图有效,我的视图会滚动,我的标签和图片视图居中,但一切都很宽。
我想知道我是如何制作的,所以View不宽,我不能水平滚动,只能垂直滚动。
答案 0 :(得分:0)
简而言之,使用自动布局时,内容大小没有效果 如果你想滚动视图可以滚动,你应该在scrollview中添加一个容器,并将原始子视图添加到容器中。
例如,使用snapkit(这里可能有一些拼写错误):
[import]然后添加一个containerView作为scrollview的子视图。设定约束:
make.edges.equalTo(scrollview) // mean its frame equal to scrollview
make.width.equalTo(self.view) // set width equal to self.view
make.height.equalTo(yourheight).priorityLow() // the actual height,if no changes,you can ingore .priorityLow()
将你的sunviews添加到containerView,添加必须设置为containerView的约束,不能设置为scrollview的.forexample,:
containerView.addSubView(myview)
myview.snp_makeConstraints { (make) -> Void in
make.left.equalTo(self.containerView)
make.top.equalTo(self.containerView)
make.right.equalTo(self.containerView)
make.height.equalTo(267)
}
答案 1 :(得分:0)
在滚动视图内的视图和视图控制器的根级视图之间添加等宽约束。
答案 2 :(得分:0)
我最近刚想出来了。试着这样做: