ScrollView 有子视图时不滚动
Posted
技术标签:
【中文标题】ScrollView 有子视图时不滚动【英文标题】:ScrollView doesn't scroll when it has a subview 【发布时间】:2014-02-28 15:33:27 【问题描述】:我有一个滚动视图,我在界面构建器中添加到我的视图控制器中,我设法让它工作,所以它滚动。但是每当我在滚动视图中放置一个按钮或另一个视图时,它都不想滚动。
我在 ios 模拟器中使用了颜色混合图层选项,并且在我尝试滚动的区域中没有任何内容与滚动视图重叠。
即使我有子视图,如何让它滚动?
【问题讨论】:
如何添加子视图?你是如何设置内容大小的? @Wain 我刚刚使用界面生成器添加了子视图。内容大小使用[scrollView setContentSize:CGSizeMake(320,1800)];
设置
尝试在viewWillAppear:
中设置内容大小
@Wain 它仍然无法正常工作。可能有一些非常简单的原因导致我只是忽略了这一点。如果您有更多想法有什么问题,请发布它们。我对编程很陌生,所以它可能非常简单。
记录viewDidAppear:
中的内容大小
【参考方案1】:
如果我在 IB 中启用了 AutoLayout,我的 scrollViews 无法滚动,因此您可能需要对此进行调查。可能有一种方法可以通过使用适当的约束来解决这个问题。
【讨论】:
谢谢!自动布局是我在post.-(void)viewDidLayoutSubviews [scrollView setContentSize:CGSizeMake(320, 1800)];
中找到解决方法的问题【参考方案2】:
记得设置你的scrollview的contentSize
,如果contentSize匹配屏幕的大小,scrollView不会滚动,因为它不需要。
self.scrollView.setContentSize = mySubView.frame.size;
【讨论】:
我确实使用[scrollView setContentSize:CGSizeMake(320,1800)];
将内容大小设置为 1800,并且当滚动视图为空时它可以工作,但当我在其中放一些东西时它就不行了。
你在里面放什么样的观点?如果您嵌入具有UIScrollview
(如UITableView
或UIWebView
)的UIView
,您可能会遇到问题
我试过 UIButton 和 UIView,它们都不起作用。【参考方案3】:
你需要设置scrollViews contentSize. Normally,the contentSize is the sum of all subviews
s的高度。
请阅读 UIScollView 参考。
self.scrollView.contentSize = mySubView.bounds.size;
【讨论】:
我确实使用[scrollView setContentSize:CGSizeMake(320,1800)];
将内容大小设置为 1800,并且当滚动视图为空时它可以工作,但当我在其中放一些东西时它就不行了。
我使用了下面的代码,其余的是界面构建器的东西。 -(void) viewDidLoad [super viewDidLoad]; [scrollView setScrollEnabled:YES]; [scrollView setContentSize:CGSizeMake(320,1800)];
我还在 ViewController.h 中链接了我的滚动视图。
是您的按钮size bigger then scrollview
s 大小,而不是内容大小。
尝试在scrollView中添加一个UIView。以上是关于ScrollView 有子视图时不滚动的主要内容,如果未能解决你的问题,请参考以下文章
Fragment中的ScrollView在软键盘出现时不滚动
ScrollView 内的 Android WebView 仅滚动滚动视图