【发布时间】:2015-02-25 21:18:05
【问题描述】:
我正在尝试用我的蒙版图像 (.png) 填充图案
UIImageView *imageView = (UIImageView*)_maskView.contentView;
imageView.image = [imageView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
imageView.tintColor = [UIColor colorWithPatternImage:image];
现在我已经完成了我想做的事情。但是有个问题。这是截图:
在此屏幕截图中,我将这些图层从后向前排列;
- mainImageView -> 包含瀑布图像。
- maskView -> 位于 mainImageView 的顶部。它是一个自定义 UIView。它包含一个 名为 contentView 的 imageView。
- contentView -> 一个 UIImageView。 maskView 的子视图。包含 掩码图像。我在它的 tintColor 上使用 colorWithPatternImage 代码。
如你所见,我的图案图像是平铺的(或重复或任何你称之为的)。
我尝试将图案图像的大小调整为 imageView 的大小,还尝试将大小调整为 4000X4000 等高分辨率,但没有成功。
试过类似的东西
self.layer.contents = (id)[UIImage imageNamed:@"freshBackground.png"].CGImage;
但是这段代码填满了整个 imageView。
现在我别无选择。谁可以帮我这个事?谢谢。
【问题讨论】:
-
你在哪里调用 self.layer.contents = (id)[UIImage imageNamed:@"freshBackground.png"].CGImage; ?
-
为什么不让你的背景视图变成图像视图呢?或者,您也可以在背景视图中覆盖 drawRect 并使用 CGContextDrawImage。
-
@Vijayts 我删除 imageView.image = [imageView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; imageView.tintColor = [UIColor colorWithPatternImage:image];并使用它。
-
@MikeM 你不太了解情况。平铺图像不在背景中。照片形状的蒙版是一个 .png 文件。它的照片形状的部分是透明的,其他部分是不透明的。我正在用颜色或 colorWithpatternImage 绘制它的不透明部分。所以最后我有一个形状,遮住主照片,用颜色或 colorWithpatternImage 边框。
标签: ios design-patterns uiimage masking tintcolor