任何人都可以帮助我,我想以相同的高度和宽度水平多次添加相同的图像。重要的是我正在动态创建图像视图,我想对所有图像使用相同的图像视图!这是我想像这样水平制作的图像,
但像这样只需要一行。
问问题
8745 次
3 回答
17
您可以使用以下方法实现此目的stretchableImageWithLeftCapWidth
:
UIImage *backgroundImage = [[UIImage imageNamed:@"SheetBackground.png"] stretchableImageWithLeftCapWidth:0.5 topCapHeight:0];
按您的要求:
UIImage *backgroundImage = [[UIImage imageNamed:@"q4Ses.png"] stretchableImageWithLeftCapWidth:0.5 topCapHeight:0];
[_scro setBackgroundColor:[UIColor colorWithPatternImage:backgroundImage]];
并使用您的图像:
输出是:
UIScrollview
您可以将此图像设置在UIView
和 按钮之上。你不需要一个for
循环。
更新:
上面的代码用于填充整个背景。如果您只想添加一行,则必须创建一个UIView
并设置colorWithPatternImage
如下:
UIImage *backgroundImage = [[UIImage imageNamed:@"q4Ses.png"]
stretchableImageWithLeftCapWidth:1 topCapHeight:0];
UIView *v=[[UIView alloc]
initWithFrame:CGRectMake(0, 0, _scro.frame.size.width, 45)];
[v setBackgroundColor:[UIColor
colorWithPatternImage:backgroundImage]];
[_scro addSubview:v];
和输出:
于 2013-08-23T09:31:37.720 回答
4
查看图像的高度。但是这个视图可以有任何宽度。
然后使用以下代码在此视图中设置您的平铺图像。
UIImage *tiledImage = [UIImage imageNamed:@"myTiledImage.png"];
self.view.backgroundColor = [UIColor colorWithPatternImage:tiledImage];
这将使您的图像水平平铺多次。
如果视图在屏幕上到处传播图像,那么您必须将以下代码添加到您的视图中
self.view.clipToBounds = YES;
于 2013-08-23T09:19:32.007 回答
0
UIScrollView *myScrollView=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
CGFloat scrollWidth = 0.f;
for (int i=0;i<10;i++)//i=10,put as many image number u want to display
{
imageView = [[UIImageView alloc] initWithFrame:
CGRectMake(scrollWidth, 0, 80, 60.f)];
imageView.image=[UIImage imageNamed:@"urimagename"];
imageView.tag=i;
[myScrollView addSubview:imageView];
scrollWidth += 100;
}
myScrollView.contentSize = CGSizeMake(scrollWidth, 100);
编辑:
您可以通过另一种方式实现这一目标。
CodenameLambda1 的答案比上面的要好。但是@CodenameLambda1 的答案仍然需要做一些更改..因为 SOP 的要求是在滚动视图中显示它。所以而不是 self.view 使用滚动视图。
UIScrollView *vie=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 60)];
UIImage *tiledImage = [UIImage imageNamed:@"login"];
vie.backgroundColor = [UIColor colorWithPatternImage:tiledImage];
vie.contentSize=CGSizeMake(1400,60);
vie.clipsToBounds = YES;
[self.view addSubview:vie];
于 2013-08-23T09:39:15.697 回答