水平和垂直重复图像

我想重复下面的图片:

在这里输入图像说明

实现以下背景:

在这里输入图像说明

我试了几个代码如下:

bluePatternView.backgroundColor = [UIColor colorWithPatternImage: [[UIImage imageNamed:@"blue_pattern.png"] stretchableImageWithLeftCapWidth:0 topCapHeight:0]]; 

和:

 bluePatternView.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"blue_pattern.png"]]; 

我也尝试用CGContextDrawTiledImage绘制图像没有成功。

如何做到这一点?

编辑:实施luk2302的结果。 请通过upvoting来表扬他

 bluePatternView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"blue_pattern.png"]]; 

结果:

在这里输入图像说明

正如我的评论已经说过:使用

 bluePatternView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"blue_pattern.png"]]; 

你不想展现你的形象。 让UIKit负责重复。

假设您的bluePatternView是您想要将模式设置为背景的实际大视图。 如果代码仍然不能正常工作,也许你正在设置错误视图的背景属性。

注意:使用@ 2x和@ 3x扩展名复制相同的图像将导致更好的分辨率设备正常工作。

在这里输入图像说明

我在images.xcassets中find解决scheme,

第1步: –把你的图像到images.xcassets

第二步: –点击图片,然后点击右下angular写的“显示切片” 把图像

第3步: –点击开始切片
开始切片

第4步: –点击“水平和垂直切片”button
水平和垂直切片

第5步: –在这里你会看到3水平和3垂直切片线。
在这里输入图像说明

  • 将最左侧的垂直线放在图像的左侧,最右侧的两条线放在图像的右侧。
  • 把最上面的一行放在图像的最上面,最下面的两行放到图像的最下面。
  • 所以最后的结果会是这样的

在这里输入图像说明

第6步: –使用这个图像。

现在图像将被重复。

在这里输入图像说明

注意: – 如果您将切片分为2张图像,则只会重复2张图片,对于3张图片您需要进行相同的切片。

苹果的例子

 bluePatternView.backgroundColor = UIColor(patternImage: UIImage(named: "blue_pattern")!) 

这与波纹方法使用像这样的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]];