Ios 滚动视图不水平滚动

Ios 滚动视图不水平滚动,ios,iphone,swift,uiscrollview,Ios,Iphone,Swift,Uiscrollview,我是ios编程新手,我正在尝试向scrollview添加分段控制器,因为seg控制器太大,无法在屏幕上水平滚动滚动滚动视图。我不知道为什么它没有滚动。我想我遗漏了一些小东西,但我找不到。什么都行!谢谢大家! viewDidLoad中的我的代码: scrollView.delegate = self scrollView.showsHorizontalScrollIndicator = true self.scrollView.alwaysBounceHorizontal = true self.

我是ios编程新手,我正在尝试向scrollview添加分段控制器,因为seg控制器太大,无法在屏幕上水平滚动滚动滚动视图。我不知道为什么它没有滚动。我想我遗漏了一些小东西,但我找不到。什么都行!谢谢大家!

viewDidLoad中的我的代码:

scrollView.delegate = self
scrollView.showsHorizontalScrollIndicator = true
self.scrollView.alwaysBounceHorizontal = true
self.scrollView.scrollEnabled = true
self.scrollView.addSubview(segControl)
self.scrollView.pagingEnabled = true
self.scrollView.directionalLockEnabled = false
self.scrollView.contentSize.height = segControl.frame.height
self.scrollView.contentSize.width = segControl.frame.width

UIScrollView
非常容易使用:只要它的
contentSize
大于它自己的
frame.size
,它就可以让您滚动以显示其可见区域以外的子视图

可能要检查
segControl.frame.width
scrollView.frame.width
值:
segControl
的宽度应该更大,滚动视图才能滚动

还需要检查
scrollView.frame
是否正确,并且是否位于屏幕之外的某个位置:例如
scrollView.frame.origin.x+scrollView.frame.width
小于屏幕宽度

查看屏幕截图,
scrollView.contentSize.width
应该超过
320
(因为它占据了模拟机屏幕的整个宽度,在您的情况下是iPhone 5/5S)。由于您已指定内容宽度输出为
216
,因此看起来您正在错误的回调中访问帧,该回调在值未正确设置时触发。我可以建议搬家

scrollView.contentSize.height = segControl.frame.height
scrollView.contentSize.width = segControl.frame.width

视图的部分将出现()
而不是
viewDidLoad()

segControl.frame.width的值是多少?它是否大于scrollView.frame.width?scrollView.contentSize应大于scrollView.frame以使其滚动。是的,我99%确定。如果不是这样,我怎么能做到呢?或者我如何检查它是否是?是的,它更大。我打印了它,这是在调试区域出现的。scrollview框架宽度:0.0内容大小:216.0 scrollview.frame-是否正常,并且没有出现在屏幕上?我的scrollview尾随和前导约束与superview相同。所以我不这么认为。内容大小是216,但这个等式的答案是scrollView.frame.origin.x+scrollView.frame.width是300。这是什么意思?它向左旋转,但我认为那只是反弹。它实际上不会滚动显示更多的seg控件。