iOS 滚动视图不起作用

Posted

技术标签:

【中文标题】iOS 滚动视图不起作用【英文标题】:iOS scroll view is not working 【发布时间】:2013-08-18 23:24:20 【问题描述】:

我在 1000 高度像素标记处有一个按钮,我需要一个 uiscrollview 才能访问该按钮。我实现了下面的滚动视图代码,它显示了滚动视图,但不允许我向下滚动。我可能缺少一个关键功能。任何提示或建议表示赞赏。

 UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 680)];
scrollView.contentSize = CGSizeMake(320, 1000);
scrollView.clipsToBounds = YES;
super.view.backgroundColor = [UIColor whiteColor];
[scrollView setUserInteractionEnabled:YES];
[[self view] addSubview:scrollView];

【问题讨论】:

你在使用自动布局吗? 你在哪里运行这段代码??在viewDidLoad? 是的,我正在使用自动布局和 viewdidload。 您是在 iPhone 还是 iPad 上运行它?如果是 iphone,那么它肯定不会一直滚动到顶部。 scrollView.frame.size.height 不应超过它的 parentView 高度。 尝试在viewDidLayoutSubviews 中设置contentSize 而不是viewDidLoad: 【参考方案1】:

问题在于您的按钮的 y 坐标是 1000 像素,正如您所说。并且滚动视图的 contentZize 的 y 坐标也最大为 1000 像素。所以滚动视图可以向上滚动到按钮开始的确切位置。

UIButton *btn =[UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(50, 1000, 100,45);
[scrollView addSubview:btn];

像这样设置滚动视图的内容大小

scrollView.contentSize = CGSizeMake(320, 1100);

这肯定会解决的。

【讨论】:

以上是关于iOS 滚动视图不起作用的主要内容,如果未能解决你的问题,请参考以下文章

滚动视图不起作用iOS Swift

iOS - 滚动视图和相等宽度不起作用

在 iOS UIAutomation 中滚动表格视图时,scrollToVisible 不起作用

带有自动布局的滚动视图内的iOS 8 imageView不起作用

UIScrollView 滚动功能不起作用?

在 ios 中使用情节提要添加滚动视图