需求

如图口袋蜜蜂app一键海报的新手指引图,需求是遮罩层中间透明的,把底层的第一张海报显示出来,如图:

实现

通过UIBezierPath和CAShapeLayer绘制一张中间为透明的黑色半透明遮罩层。

步奏1、新建类PCOnePosterGuide继承自UIView
步奏2、重写drawRect:方法:

- (void)drawRect:(CGRect)rect {[super drawRect:rect];//整个view(如下图,蓝色部分)UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:rect cornerRadius:0];//中间空的部分(如下图:粉红色部分)UIBezierPath *maskPath;CGFloat maskW = (IOS_VERSION>=10.)?64.:50.;CGFloat padding = (SCREEN_WIDTH>375)?6.:2.;maskPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(SCREEN_WIDTH-maskW-padding, PCSTATUSBAR_HEIGHT+4, maskW, 36.)byRoundingCorners:UIRectCornerAllCornerscornerRadii:CGSizeMake(2, 2)];[path appendPath:maskPath];//使用奇偶性原则,设置填充部分为除去粉色的蓝色部分[path setUsesEvenOddFillRule:YES];CAShapeLayer *fillLayer = [CAShapeLayer layer];fillLayer.path = path.CGPath;fillLayer.fillRule = kCAFillRuleEvenOdd;fillLayer.fillColor = [UIColor blackColor].CGColor;fillLayer.opacity = 0.5;[self.layer addSublayer:fillLayer];
}

【iOS】中间透明的引导蒙层相关推荐

  1. html引导蒙层,web开发中实现图标点击态蒙层

    原标题:web开发中实现图标点击态蒙层 webapp开发中经常需要加入点击二态,即用户点击(tap)页面某个部分时该部分的样式进行相应的变化来相应用户的点击操作,这样能够带来更好的用户体验,今天我们要 ...

  2. android 圆形图片设置蒙层,Android引导蒙层,安卓新手引导图,引导图层,支持椭圆,圆形,矩形多种形状,一行代码快速搞定-Go语言中文社区...

    新手引导视图,初次打开页面时显示. 支持圆形,椭圆,矩形等多种图形 提示部分支持图片和文字提示 先看效果图 使用步骤. 使用起来特别简单,只需要把GuideView这个类复制到你的项目中就可以了 pa ...

  3. Android引导蒙层,安卓新手引导图,引导图层,支持椭圆,圆形,矩形多种形状,一行代码快速搞定

    新手引导视图,初次打开页面时显示. 支持圆形,椭圆,矩形等多种图形 提示部分支持图片和文字提示 github源码地址:https://github.com/qiushi123/GuideView-ma ...

  4. 【歪门邪道】Android页面上快速实现蒙层引导需求

    这几年工作发现一个定律,新年前一定有一个大项目,项目优先度一定高,排期一定倒着排,程序员一定要加班.就好像,缺了这个项目,发年终奖就亏了一样. 新需求有多个引导蒙层,蒙层需要漏出被引导的按钮区域,时间 ...

  5. iOS UI 之聊天室渐变蒙层效果

    iOS UI 开发中,我们已接触过不少 layer 相关设置,如常见设置按钮的圆角效果 UIButton *button = [UIButton buttonWithType:UIButtonType ...

  6. css蒙层和新手引导的实现方式

    开发当中经常用到新用户引导,弹出蒙层的场景.入下图,想提醒用户底部有一个发表按钮,正文是一个feeds晒单. 那如何处理呢? 左边的情况,可能你会用一张图片悬浮在底部的icon之上,倒是可以实现.但是 ...

  7. Android开发之新手引导蒙层

    因为是做公司内网开发,所以也没用到新手引导的这个功能.但是由于每次更新的时候更新内容已经写在上面,内部人员就是不看的情况下要求做了一个引导页.但是最后呢,还没用上.但是找了好久也找到了一个很好用的第一 ...

  8. android播放页蒙层过渡效果,EasyGuideLayer: 这可能是最简单、灵活、强大的页面蒙层组件了!...

    原标题:EasyGuideLayer: 这可能是最简单.灵活.强大的页面蒙层组件了! 顾名思义,EasyGuideLayer是用于进行Android页面蒙层引导的组件. 特性 链式调用.调用逻辑清晰直 ...

  9. android 蒙层广告1,subnvue安卓机打开只显示蒙层,没有任何内容【报Bug】

    详细问题描述 subnvue子窗体,在iphone上测试正常,而在安卓手机测试出现打开只有一个灰色蒙层,没有任何内容.经过调试之后发现: "style": { "top& ...

最新文章

  1. 【剑指offer-Java版】31连续子数组的最大和
  2. 换一种方式编写 Spring MVC 接口
  3. yolov5 v3.0训练出现KeyError错误
  4. go git 安装配置与使用 (windows 7 64bit)
  5. /etc/resolv.conf服务器客户端DNS重要配置文件
  6. 从一个字符串中剔除连续的字符,只留一个。
  7. js下拉 selenium_selenium的下拉选择框
  8. Android端实时音视频开发指南
  9. JS监听DOM宽高的变化
  10. Java实现redis管道
  11. spring配置mysql事务管理_Spring 数据库事务管理机制
  12. 计算两个日期的时间间隔,返回的是时间间隔的日期差的绝对值.
  13. k8s中各组件和kube apiserver通信时的认证和鉴权
  14. 南京大学计算机专业推免生,南大计算机系招收2014级研究生外校推免生复试名单...
  15. tecplot改变x轴y轴
  16. 海信85U7G-PRO怎么样 有什么优缺点
  17. echarts饼图圆环图数据为0时字体重叠
  18. 【bug记录】Vue项目执行报错处理:You may need an appropriate loader to handle this file type.
  19. 分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点
  20. jQuery选择器$()

热门文章

  1. 【转】MYSQL入门学习之十:视图的基本操作
  2. 尺度空间理论与图像金字塔
  3. Java中的ClassLoader和SPI机制
  4. 淘宝Tengine服务器开源
  5. Lucene.net中文分词探究
  6. Windows自动启动程序的十大藏身之所(转载)
  7. Linux编译器GCC的使用
  8. 内存问题分析的利器——valgrind的memcheck
  9. 发现一个windows7(32bit或64bit)DirectUI的bug
  10. windows7 64位机上配置支持GPU版(CUDA7.5)的OpenCV2.4.13操作步骤