我是ios编程的新手,我试图将分段控制器添加到滚动视图,因为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
答案 0 :(得分:1)
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
部分归viewWillAppear()
而不是viewDidLoad()
。