2 u012575301 u012575301 于 2016.04.25 17:41 提问

ios 如何到达如下图的效果

图片说明

它的整个背景是 黑色透明度为0.5 然后只有圆形那块是没有背景色的
求解答

6个回答

CSDNXIAOD
CSDNXIAOD   2016.04.25 17:52

iOS 引导图的聚光灯效果代码实现
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

oyljerry
oyljerry   Ds   Rxr 2016.04.25 19:11

一个是设置backgroundColor为clearColor,就是设置好View为圆形范围

hi_chen_xingwang
hi_chen_xingwang   Rxr 2016.04.25 22:30

做一个黑色半透明蒙版,中间画出一个圆形的透明区就可以了

tabttoo
tabttoo   2016.04.26 10:29

这个图层叠加做不出这个效果,可以把这个背景直接绘图,也就是绘制一个view,中间透明,边上半透明,

tabttoo
tabttoo   2016.04.27 16:51

//获取需要的样式图片

  • (UIImage *)getImage{
    UIGraphicsBeginImageContextWithOptions([UIScreen mainScreen].bounds.size, NO, 1.0);
    CGContextRef con = UIGraphicsGetCurrentContext();

    CGContextSetFillColorWithColor(con, [UIColor lightGrayColor].CGColor);//背景色
    CGContextFillRect(con, [UIScreen mainScreen].bounds);

    CGContextAddEllipseInRect(con, CGRectMake(50, 100, 200, 200));
    CGContextSetBlendMode(con, kCGBlendModeClear);
    CGContextFillPath(con);

    UIImage *ima = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return ima;

}

//将样式图片添加到VIew上

  • (void)addImage{ UIImageView *imageV = [[UIImageView alloc]initWithFrame:[UIScreen mainScreen].bounds]; imageV.image = [self getImage]; imageV.alpha = 0.5; [self.view addSubview:imageV]; }
yj73986198
yj73986198   2016.04.28 15:58

view中间画出一块透明原型区域就好

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!