向UIScrollView添加多个项目,但无法滚动?

时间:2013-08-21 23:12:24

标签: ios user-interface uiscrollview

我正在为iOS编写UI,我需要创建一个笔记类型小部件的滚动视图。我正在尝试创建一个scrollview并添加一些UIView对象,但由于某种原因,我无法滚动,我做错了什么?这就是我正在做的事情:

[_testScrollView setBackgroundColor:[UIColor purpleColor]];

NSUInteger size = 100;
float height = _testScrollView.frame.size.height/10;
float width = _testScrollView.frame.size.width;
float currTop = 0;

CGSize fooSize = CGSizeMake(_testScrollView.frame.size.width, _testScrollView.frame.size.height);
[_testScrollView setContentSize:fooSize];

for (NSUInteger i = 0; i < size; i++)
{
    double red = ((double)arc4random() / ARC4RANDOM_MAX);
    double green = ((double)arc4random() / ARC4RANDOM_MAX);
    double blue = ((double)arc4random() / ARC4RANDOM_MAX);

    CGRect currFrame = CGRectMake(0, currTop, width, height);
    UIView* testView = [[UIView alloc] initWithFrame:currFrame];
    [testView setBackgroundColor:[UIColor colorWithRed:red green:green blue:blue alpha:1.0]];
    [_testScrollView addSubview:testView];
    currTop += height;
}

我希望滚动浏览滚动视图并能够浏览所有添加的100个UIViews。我错过了什么?

2 个答案:

答案 0 :(得分:0)

您需要将滚动视图的内容大小设置为所有uiviews的高度。使用

setContentSize:cgSizeMake(_testScrollView.frame.size.width,size*height) 
在for循环之后

答案 1 :(得分:0)

只需在scrollview中打印(记录屏幕)你的内容高度。你可以看到滚动视图高度...你需要添加所有子视图的高度以获得scrollview的内容大小......