0

所以我有一个UIScrollView并且在其中,我想添加一些子视图,目前我有大约 5 或 6 个,它们的90px高度大约是,所以很明显,当它到达屏幕底部时,我希望它滚动所以你可以看到更多,如果这有意义的话。

下面是我已经拥有parentViewUIScrollViewnewResult是我想附加的一行。GSResultBlock是一个扩展的类UIView

    for (NSObject * person in resultsCollection) {
      CGRect resultBlockFrame   = CGRectMake(0, resultCount, parentView.bounds.size.width, 90);
      GSResultBlock * newResult = [[GSResultBlock alloc] initWithFrame:resultBlockFrame];

      [parentView addSubview:[newResult getResultBlock]];

      [newResult release];

      resultCount = resultCount + 95;
}

请记住,foreachnewResult中还会有额外的子视图,例如,UIImageView等等。(虽然它们不包含在上面的代码中)

有任何想法吗?提前致谢。

4

2 回答 2

2

您需要更新使用类似contentSizeUIScrollView东西:

[parentView setContentSize:CGSizeMake(CGRectGetWidth(parentView.frame), resultCount)];

在你的 for 循环结束后。

于 2013-03-26T14:34:03.337 回答
0

看看这个答案

float maxHeight = 0;

for(UIView *v in [scrollView subviews]){
    if(v.frame.origin.x + v.frame.size.height > maxHeight)
        maxHeight = v.frame.origin.x + v.frame.size.height;
}

self.scrollView.contentSize = CGSizeMake(scrollView.frame.size.width, maxHeight+5);

将所有视图放入滚动视图后,运行此命令,它将使您的滚动视图滚动正确的量

于 2013-03-26T14:34:03.793 回答