UIScrollView 根本不滚动

Posted

技术标签:

【中文标题】UIScrollView 根本不滚动【英文标题】:UIScrollView not scrolling at all 【发布时间】:2013-05-29 16:05:30 【问题描述】:

我有一个视图控制器的复合结构 - 父视图控制器的视图中有一个洞,我在其中嵌入了另一个视图控制器的其他视图。 我使用 addChildViewController 然后将该子视图添加到我的视图中。

现在棘手的部分 - 该视图具有 UIScrollView 并且它拒绝滚动。我在 Xib 中制作了 UIScrollView,在其中嵌入了另外两个视图。

我检查了那个scrollView的frame和contentSize,一切正常,内容很大,frame是真实的。

在 viewDidLoad 我使用这个:

self.scrollView.contentSize = CGSizeMake(3000, 3000);

我尝试过设置委托、userInteractionEnabled、scrollingEnabled,但这些都没有帮助。我已经尝试设置所有超级视图 UserInteractionEnabled 等,但它也没有帮助。

我感觉这是 Xcode 的一个错误,我可能只是在代码中制作滚动视图,但这让我很生气,因为我有大量的标签层次结构,并且很难在代码中制作它们。

我使用 ios5 并且没有自动布局。 我尝试将背景颜色更改为绿色,我可以在屏幕上看到滚动视图,它位于正确的位置。

【问题讨论】:

您是否使用分页技术实现 UIscroll 视图? 可以肯定的是,您是否检查了视图控制器上的自动布局属性? 您是否已将您的 scrollView 声明为属性? 你有没有试过启用滚动:scrollView.ScrollEnabled = YES; 【参考方案1】:

如果你使用分页,那么使用

self.scrollV.contentSize = CGSizeMake(self.scrollV.frame.size.width *kNumberOfPages, 220);
self.scrollV.showsHorizontalScrollIndicator = NO;
self.scrollV.showsVerticalScrollIndicator = NO;
self.scrollV.scrollsToTop = NO;
self.scrollV.delegate = self;

这里你可以使用页数来显示。但在此之前请将 UIScroll 视图的委托UIScrollViewDelegate 设置为该类。也请在您的视图中检查自动布局。

希望这会有所帮助。

【讨论】:

以上是关于UIScrollView 根本不滚动的主要内容,如果未能解决你的问题,请参考以下文章

调整容器 uiscrollview 中所有 uiscrollview 的大小

UIScrollView 根本不滚动

UIScrollView 根本不滚动

在 Swift 中以编程方式添加时,UIScrollView 根本不滚动?

何时使用 UITouch 与 UIScroll

UIScroll 视图未按预期工作