当我认为 UIScrollView 不应该垂直滚动时

Posted

技术标签:

【中文标题】当我认为 UIScrollView 不应该垂直滚动时【英文标题】:UIScrollView is scrolling vertically when I think it should not 【发布时间】:2013-09-30 06:38:21 【问题描述】:

我的滚动视图内容大小是:2304 x 44 我的滚动视图框架大小是 768 x 44 我的滚动视图边界是 768 x 44 我添加的子视图大小为 2304 x 44

但是滚动视图垂直滚动?我认为不应该。我怎样才能防止这种情况发生?

注意,这非常适合我的 iPhone 项目。但是当我对 iPad 使用相同的代码时,它会出现奇怪的滚动行为。此外,我添加的子视图在 iPad 版本中向下移动了 44。我尝试在添加之前将子视图的框架设置为 0, 0 的位置,但这不起作用。

【问题讨论】:

你在使用 AutoLayout 吗? 也许它与滚动视图的自动添加内容插图有关?等我回家看看是不是这样 【参考方案1】:

我想你可以试试这个:

[_scrollview setFrame:CGRectMake(0, 0, 768, 44)];

[_scrollview setContentSize:CGSizeMake(2304, 44)];

[self addSubview:_scrollview];

【讨论】:

【参考方案2】:

我的怀疑是正确的:

[self setAutomaticallyAdjustsScrollViewInsets:NO];

就这么简单!

【讨论】:

【参考方案3】:

是的,因为您将滚动视图设置为包含size is 2304 * 44,所以它显然是垂直滚动的,对吗?所以不管你的滚动视图是什么框架(高度),但重要的是你的高度contentSize.

【讨论】:

我听不懂你在说什么

以上是关于当我认为 UIScrollView 不应该垂直滚动时的主要内容,如果未能解决你的问题,请参考以下文章

使用 NavigationBar 禁用 UIScrollView 垂直滚动

UIScrollView 应该只向下滚动

UIScrollView 不使用 UICollectionView 滚动

UIScrollView 水平和垂直滚动的策略

UIView 不会在 UIScrollView 内垂直滚动

在 UIScrollView Swift 中禁用垂直滚动