iOS opaque UIView带有透明部分

时间:2014-12-18 20:33:16

标签: ios objective-c uiview uiimagepickercontroller

我试图制作一个不透明的简单视图,除了中心给定直径的圆。它意味着覆盖相机,因为他们不希望整个屏幕显示,只需将您的脸部置于圆圈中并拍摄照片。

相反的是一些简单的代码行 - 中间有一个不透明圆圈的清晰视图 - 但我无法弄清楚如何做相反的事情。

任何帮助或指示赞赏......

2 个答案:

答案 0 :(得分:1)

听起来你只想要一个简单的面具。你可以使用Ash的method

来做到这一点
UIImage *_maskingImage = [UIImage imageNamed:@"mask"];
CALayer *_maskingLayer = [CALayer layer];
_maskingLayer.frame = theView.bounds;
[_maskingLayer setContents:(id)[_maskingImage CGImage]];
[theView.layer setMask:_maskingLayer];

您需要的图像是一个圆形,其透明度渐变从边缘的黑色到中心的透明。请记住您使用的文件类型并非所有支持透明度(如jpeg)。

或者,您可以使用UIImageView并使图像中包含渐变。

答案 1 :(得分:0)

如何使用视图层的mask属性?

尝试这样的事情(2个视图应该具有相同的大小):

#import <QuartzCore/QuartzCore.h>

UIView *blackCircleOnClearBackground;
UIView *cameraView;
cameraView.layer.mask = blackCircleOnClearBackground.layer;