使用colorWithPatternImage时如何保持图像透明度:

msm*_*bbs 17 iphone objective-c uiview

我有一个透明的图像,像这样:

替代文字

使用两个UI视图,我将背景颜色配置为:

self.view.backgroundColor = [UIColor groupTableViewBackgroundColor];
self.dashedView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"red_square.png"]];
Run Code Online (Sandbox Code Playgroud)

我希望红色正方形在UIView上重复保留透明度,但是它被这样的纯色填充:

替代文字

我不明白为什么.是否有一种简单的方法来绘制具有透明度的平铺图像?或者我是否需要查看绘制核心图形模式?

Jos*_*erg 25

图案图像应保持透明度.

尝试 [self.dashedView setOpaque:NO]

  • 我不知道为什么,但我发现有必要将opaque设置为YES,将背景颜色设置为图案化图像,然后将opaque设置为NO.但是,我无法解释这一点. (6认同)

Hul*_*ASH 5

所有你需要做的就是在设置colorWithPatternImage后将opaque设置为NO.

self.dashedView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"red_square.png"]];
self.dashedView.opaque = NO;
Run Code Online (Sandbox Code Playgroud)