设置 UIScrollview 滚动方向
Posted
技术标签:
【中文标题】设置 UIScrollview 滚动方向【英文标题】:Set UIScrollview Scroll Direction 【发布时间】:2016-02-15 02:31:30 【问题描述】:我设置了内容大小,以便激活垂直滚动,但我只希望用户能够向北滚动而不是向南滚动。关于如何实现这一点的任何想法?
//set high greater than view
myScroll.contentSize = CGSize(width: myView.view.frame.width,height: myView.view.frame.height + 190)
我只想要向上滚动的能力并禁用向下滚动的能力,这是滚动视图的默认方向
【问题讨论】:
【参考方案1】:您可以将滚动视图的内容偏移设置到底部。即,
myScroll.contentOffset = CGPoint(x: 0,y: 190)
// 这里的 190 与 contentSize 中的高度增加值相同。
【讨论】:
如果你想向左滚动而不是向右滚动(如果你的滚动只是水平滚动)myScroll.contentOffset = CGPoint(x: yourScrollWidth,y: 0)【参考方案2】:创建UIScrollView
的子类。覆盖 layoutSubviews
以确保 contentOffset.y
仅增加,除非它超出内容范围的末尾,因此滚动视图可以在底部反弹。
class MyScrollView: UIScrollView
var priorOffset = CGPoint.zero
override func layoutSubviews()
var offset = contentOffset
if offset.y < priorOffset.y
let yMax = contentSize.height - bounds.height
if offset.y < yMax
offset.y = priorOffset.y
contentOffset = offset
priorOffset = offset
super.layoutSubviews()
结果:
【讨论】:
【参考方案3】:-
选择您的滚动视图
选择身份检查员
设置用户定义属性(见图)
在图像中第一个 435 垂直滚动,第二个 116 是水平滚动
注意:设置你自己的滚动
【讨论】:
【参考方案4】:您可以设置UIPanGestureRecognizer
的方向,该方向附加到您的UIScrollView
。
查看一些有最新答案的热门问题,例如this one。
或者直接选择pod 'UIPanGestureRecognizerDirection'
【讨论】:
以上是关于设置 UIScrollview 滚动方向的主要内容,如果未能解决你的问题,请参考以下文章
UIScrollView 在分页时确定 scrollViewDidEndDragging 上的滚动方向
UIScrollView 无法正常工作(它返回顶部并且不显示任何滚动条