iOS滚动视图不工作

iOS滚动视图不工作,ios,cocoa-touch,uiscrollview,Ios,Cocoa Touch,Uiscrollview,我有一个1000像素高的按钮,我需要一个uiscrollview来访问该按钮。我实现了下面的scrollview代码,它显示了scroll视图,但不允许向下滚动。我可能缺少一个关键功能。任何提示或建议都将不胜感激 UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 680)]; scrollView.contentSize = CGSizeMake(320, 1000); sc

我有一个1000像素高的按钮,我需要一个uiscrollview来访问该按钮。我实现了下面的scrollview代码,它显示了scroll视图,但不允许向下滚动。我可能缺少一个关键功能。任何提示或建议都将不胜感激

 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];

问题是按钮的y坐标是1000像素,如您所述。scrollview的contentZize的y坐标最大也可达1000像素。所以scrollview可以向上滚动到按钮开始的确切位置

UIButton *btn =[UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(50, 1000, 100,45);
[scrollView addSubview:btn];
如下所示设置scrollview的内容大小

scrollView.contentSize = CGSizeMake(320, 1100);

这肯定会解决问题。

您使用自动布局吗?您在哪里运行此代码??在
viewDidLoad
中?是的,我正在使用自动布局和viewDidLoad。您是在iPhone还是iPad上运行此功能?如果是iphone,那么它肯定不会一直滚动到顶部。scrollView.frame.size.height不应超过其父视图高度。请尝试在
viewDidLayoutSubviews
中设置
contentSize
,而不是
viewDidLoad: