如何动态设置UIScrollView的内容大小

时间:2011-08-24 10:21:20

标签: ios uiscrollview scrollview

我正在开发一个使用UIScrollView来显示图片和文字的应用。当我为UIscrollView ex:

设置固定大小时,我可以正常工作
[scrollview setContentSize:(CGSizeMake(320, 480))];

我的问题是文本是通过一些Web服务提供的,大小不一,所以我想我必须动态设置内容大小,有人可以告诉我该怎么做。有关信息,图像的大小是固定的。提前谢谢。

2 个答案:

答案 0 :(得分:1)

您需要使用scrollview来设置内容大小,因此首先在视图中设置deragand drop uiscrollview并设置IBOutlat和deleget,然后设置设置内容大小的viewdidload。那样..

if (PhotoPathArray.count > 0)
{
    int y=5,x=-87;

    for(int i=0;i<[PhotoPathArray count];i++)
    {

        if(i%3==0 && i!=0)
        {
            y=y+100;
            x=13;
            scroll.contentSize=CGSizeMake(320, y+130);
        }
        else
        {
            x=x+100;
        }


        UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
        btn.tag=i;
        [btn addTarget:self action:@selector(imegbtnclick:) forControlEvents:UIControlEventTouchUpInside];
        btn.frame=CGRectMake(x,y, 95,95);
        [scroll addSubview:btn];
    }
}

答案 1 :(得分:0)

// Calculate scroll view size
float sizeOfContent = 0;
int i;
for (i = 0; i < [myScrollView.subviews count]; i++) {
    UIView *view =[myScrollView.subviews objectAtIndex:i];
    sizeOfContent += view.frame.size.height;
}

// Set content size for scroll view
myScrollView.contentSize = CGSizeMake(myScrollView.frame.size.width, sizeOfContent);