如何在 UIScrollView 中仅禁用垂直滚动?
Posted
技术标签:
【中文标题】如何在 UIScrollView 中仅禁用垂直滚动?【英文标题】:How to disable just vertical scrolling in a UIScrollView? 【发布时间】:2011-09-23 21:47:19 【问题描述】:UIScrollView 有一个属性 scrollEnabled 可以禁用所有滚动,但我只想禁用垂直滚动。
这可能吗?谢谢。
【问题讨论】:
这回答了你的问题吗? 【参考方案1】:如果 scrollView 的 contentSize.height
小于它的 bounds.size.height
它不会垂直滚动。
尝试设置:
scrollView.contentSize = (CGSize)<yourContentWidth>, 1.0
斯威夫特
scrollView.contentSize = CGSize(width: <yourContentWidth>, height: 1.0)
【讨论】:
优秀的答案。出于某种原因,0 不起作用,但 1 可以解决问题。任何更大的东西,滚动视图允许最小的垂直滚动。【参考方案2】:- (void)scrollViewDidScroll:(UIScrollView *)aScrollView
[aScrollView setContentOffset: CGPointMake(aScrollView.contentOffset.x,0)];
你一定已经确认UIScrollViewDelegate
aScrollView.delegate = self;
【讨论】:
这是一个很好的解决方案,对我有用。这是 swift 3 版本:func scrollViewDidScroll(_ scrollView: UIScrollView) scrollView.contentOffset = CGPoint(x: scrollView.contentOffset.x, y: 0)
以上是关于如何在 UIScrollView 中仅禁用垂直滚动?的主要内容,如果未能解决你的问题,请参考以下文章