如何生成垂直滚动?

时间:2011-06-06 12:13:14

标签: ios uiscrollview

我正在使用以下代码创建滚动视图。但是它水平显示。 任何人都可以告诉我如何将此滚动视图更改为垂直方式。

scrollView1 = [[UIScrollView alloc] initWithFrame:CGRectMake(25,50,700,175)];
[self.view addSubview:scrollView1];
[scrollView1 setBackgroundColor:[UIColor lightGrayColor]];
[scrollView1 setCanCancelContentTouches:NO];
scrollView1.indicatorStyle = UIScrollViewIndicatorStyleWhite;
scrollView1.clipsToBounds = YES;        // default is NO, we want to restrict drawing within our scrollview
scrollView1.scrollEnabled = YES;
scrollView1.pagingEnabled=YES;

4 个答案:

答案 0 :(得分:2)


UIScrollView的滚动基于contentSize属性,即CGSize值。

每当widthheight大于滚动视图框架时,滚动视图将允许滚动(如果属性showsVerticalScrollIndicatorshowsHorizontalScrollIndicator和{{1都被设置为YES - 这是默认值)

因此,您可以尝试做的一件事是将scrollEnabled的高度设置为大于已设置为框架的高度,例如:

contentSize

答案 1 :(得分:0)

由于您的代码适用于水平滚动,您只需要设置initWithFrame。下面的代码将为您提供全部帮助,其余代码将相同的垂直滚动将启动

scrollView1 = [[UIScrollView alloc] initWithFrame:CGRectMake(25,50,175,700)];

答案 2 :(得分:0)

同时检查你的autoRotate函数是否返回了正确的布局。如果您没有告诉您的应用程序它可以将视图旋转为纵向,那么它将保持水平配置,您已经硬编码。

答案 3 :(得分:0)

滚动任何滚动视图完全取决于contentSize属性。 在您的代码中,您没有提到scrollView1的内容大小。

所以,你应该添加它,

scrollView1.contentSize = CGSizeMake(700, 1750);

这里我们提供了两个参数,一个是宽度,另一个是高度。这样可以进行10次垂直滚动,因为您的帧高为175像素,而contentSize高度为1750像素。

注意:您的contentSize值(即宽度和高度)必须大于帧大小才能滚动。

谢谢...