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 UIAutomation 中滚动表格视图时,scrollToVisible 不起作用