UIView子视图放置

时间:2011-05-05 18:25:19

标签: ios uiview

我有一个UIView,我将UIImageView放入其中,每个UIImageView的宽度为16像素。

查询是如果我使用addSubView添加5个UIImageViews,并且UIView规格为16高300宽,有没有办法让视图中的图像'叠加'可以这么说,这样图像不是彼此重叠?就像将图像标签添加到网页一样。

2 个答案:

答案 0 :(得分:2)

我看到这样做的最简单方法是保持上次放置图像的位置,然后按宽度递增,如下所示:

-(void) addImage:(UIImage*)img toView:(UIView*)view
{
    static CGRect curFrame = CGRectMake (0,0,16,16);
    UIImageView* imgView = [[UIImageView alloc] initWithFrame:curFrame];
    imgView.image = img;
    [view addSubview:imgView];

    curFrame.origin.x += 16;
}

这将使图像从左到右显示在视图中

答案 1 :(得分:1)

我想我理解你的问题。您希望所有图像连续排列正确吗?您需要设置UIImageView视图的框架。 orgin将是图像左上角的位置(包含它的UIView内的x,y坐标) - 所以每次添加另一个图像时都要移动16以上。