水平和垂直重复图像
我想重复下面的图片:
实现以下背景:
我试了几个代码如下:
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]];