【问题标题】:How to disable just vertical scrolling in a UIScrollView?如何在 UIScrollView 中仅禁用垂直滚动?
【发布时间】:2011-09-23 21:47:19
【问题描述】:

UIScrollView 有一个属性 scrollEnabled 可以禁用所有滚动,但我只想禁用垂直滚动。

这可能吗?谢谢。

【问题讨论】:

  • 这回答了你的问题吗?

标签: ios uiscrollview


【解决方案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) }
猜你喜欢
  • 1970-01-01
  • 2011-07-03
  • 1970-01-01
  • 1970-01-01
  • 2012-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多