作家
登录

iOS和常见的离屏渲染Say Goodbye!

作者: 来源: 2017-12-21 09:04:31 阅读 我要评论

  1. UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(130, 330, 100, 100)]; 
  2.     [btn setBackgroundColor:[UIColor colorWithRed:(226.0 / 255.0) green:(113.0 / 255.0) blue:(19.0 / 255.0) alpha:1]]; 
  3.     [backgroundImageView addSubview:btn]; 
  4.     //绘制曲线路径 
  5.     UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:btn.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:btn.bounds.size]; 
  6.     CAShapeLayer *maskLayer = [[CAShapeLayer alloc]init]; 
  7.     //设置大年夜小 
  8.     maskLayer.frame = btn.bounds; 
  9.     //设置图形样子 
  10.     maskLayer.path = maskPath.CGPath; 
  11.     btn.layer.mask = maskLayer;

    效不雅图:

    iOS和常见的离屏衬着Say Goodbye!
    小我认为第二种筹划更简单并且功能扩大性更强些

    设置暗影

    惯例做法:

    1. //暗影的色彩 
    2. self.imageView.layer.shadowColor= [UIColorblackColor].CGColor; 
    3. //暗影的透明度 
    4. self.imageView.layer.shadowOpacity=0.8f; 
    5. //暗影的圆角 
    6. self.imageView.layer.shadowRadius=4; 
    7. //暗影偏移量 
    8. self.imageView.layer.shadowOffset=CGSizeMake(0,0);  

    避免对shadowOffset直接修改,经由过程调用setShadowPath来供给一个CGPath给视图的Layer,向Core Animation供给衬着的View的外形Shape,就会削减离屏衬着计算

    1. [self.imageView.layer setShadowPath:[[UIBezierPath  
    2.     bezierPathWithRect:myView.bounds] CGPath]]; 

    弥补:当应用暗影的视图外形产生变更时,即shadowPath并不会跟随CALayer的bounds属性进行变更,所以在layer的bounds产生变更今后须要手动更新shadowPath才能让其适配新的bounds。

    惯例做法:



      推荐阅读

      谷歌强推安卓8.0系统:明年所有APP都必须支持

    【限时免费】岁尾最强一次云计算大年夜会,看传统、社区、互联网企业若何碰撞?我们逐条来分析,起首第一点,今朝Play市廛仍许可面向老安卓体系的APP提交,来岁8月开端就弗成能了;第二自得味着,谷歌为>>>详细阅读


    本文标题:iOS和常见的离屏渲染Say Goodbye!

    地址:http://www.17bianji.com/lsqh/40007.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)