当前位置: 首页 > news >正文

重庆百度网站快速排名怎么样推广自己的产品

重庆百度网站快速排名,怎么样推广自己的产品,如今做那个网站致富,粤icp备网站建设 中企动力广州上一篇iOS Core Animation Advanced Techniques-图层树随笔中已经介绍了CALayer与UIView的一些关系,这篇主要是对CALayer中的寄宿图做一些总结。 CALayer的属性: contents(寄宿图):虽然contents属性是id类型,但是只有附上CGImage对…

上一篇iOS Core Animation Advanced Techniques-图层树随笔中已经介绍了CALayer与UIView的一些关系,这篇主要是对CALayer中的寄宿图做一些总结。

CALayer的属性:

  • contents(寄宿图):

虽然contents属性是id类型,但是只有附上CGImage对象也就是CGImageRef类型的时候才不会显示空白一片

      • CGImageRef:一个指向CGimage结构的指针
      • UIImage有一个CGImage属性,正是一个CGImageRef指针,但仍需要通过bridged关键字转换,如:
      • layer.contents=(__bridge id)image.CGImage;//ARC下,非ARC不需要__bridge

 

      • 使用例子:
      • UIImage *image=[UIImage imageName:@"Photo.png"];
      • self.myView.layer.contents=(__bridge id)image.CGImage;
  • contentGravity:

决定内容在图层的边界中怎么对齐(在视图UIView上对应属性为contentMode)

可选常量值有:

      • kCAGravityCenter
      • kCAGravityTop
      • kCAGravityBottom
      • kCAGravityLeft
      • kCAGravityRight
      • kCAGravityTopLeft
      • kCAGravityTopRight
      • kCAGravityBottomLeft
      • kCAGravityBottomRight
      • kCAGravityResize
      • kCAGravityResizeAspect
      • kCAGravityResizeAspectFill

 

  • contentsScale:

定义寄宿图的像素尺寸与视图大小的比例,默认1.0(在视图UIView上对应的属性为contentScaleFactor)

      • 该属性会受contentGravity属性影响;
      • 该属性属于支持高分屏机制的一部分(而非用来做放大图层的寄宿图)
      • 该属性设置为2.0,将会每个点2个像素绘制图片
      • 使用例子(图层适配图片):
      • UIImage *image=[UIImage imageNamed:@"Photo.png"];
      • self.myView.layer.contents=(__bridge id)image.CGImage;
      • slef.myView.layer.contentsGravity=kCAGravityCenter;//不会拉伸图片而影响contentsScale的属性设置
      • self.myView.layer.contentsScale=image.scale;
      • /*图层适配屏幕时:self.myView.layer.contentsScale=[UIScreen mainScreen].scale;*/

 

  • maskToBounds:
      • 决定是否显示超出边界的内容(在视图UIView上对应的属性为clipsToBounds)默认值为NO;
      • UIView仍然会绘制超过边界的内容或是子视图,CALayer亦是如此;
  • contentsRect:
      • 在图层里决定显示寄宿图上的某一块rect子域
      • 该属性是一个单位坐标:指定在0-1之间,是一个相对值
      • 默认值{0,0,1,1}
      • 使用例子:图片合并为一张大图一次性载入,然后赋给CALayer的contents再选取寄宿图的某块子域显示
      • UIImage *image=[UIImage imageNamed:@"Photo.png"];
      • self.myView.layer.contents=(__bridge id)image.CGImage;
      • self.myView.layer.contentsGravity=kCAGravityResizeAspect;
      • self.myView.layer.contentsRect=CGRectMake(0,0,0.5,0.5);
      • iOS使用以下坐标系统:
      • 点:
      • 虚拟像素,标准设备上1点1像素,在高分屏上一点等于2*2甚至更多像素
      • 像素:
      • 单位:
  • contentsCenter:
      • 注意:该属性与寄宿图的位置没有关系
      • 是一个CGRect,定义一个固定的边框和一个在图层上可拉伸的区域;
      • 该属性只有在图层的大小改变了才看到效果
      • 默认值{0,0,1,1},意味着如果大小改变了,那么寄宿图会均匀拉伸开。
  • Custome Drawing:
      • 另一种方式设置CALayer的contents寄宿图内容:用Core Graphics直接绘制寄宿图:
      • 通过继承UIView实现-drawRect:方法自定义绘制
      • -drawRect:方法没有默认实现,UIView检测到-drawRect:方法被实现,会给该UIView关联的CALayer设置contents分配一个寄宿图(像素尺寸等于视图大小乘以contentsScale)
      • -drawRect:方法在UIView出现在屏幕上自动调用,方法体利用Core Graphics绘制寄宿图,然后内容被缓存起来直至需要被更新(显示调用了UIView的-setNeedsDisplay方法)



  • delegate:
      • 遵循CALayerDelegate这个非正式协议
      • CALayer被重绘时回调代理方法-(void)displayLayer:(CALayer *)layer;以获取一个寄宿图
      • 如果代理没有实现-(void)displayLayer:(CALayer *)layer;CALayer会先创建一个适合尺寸(由bounds和contentsScale决定)的空寄宿图,和一个Core Graphics的绘制上下文环境后回调-(void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx;
      • 使用例子:
      • CALayer *myLayer=[CALayer layer];
      • myLayer.frame=CGRectMake(50.0f,50.0f,100.0f,100.0f);
      • myLayer.backgroundColor=[UIColor blueColor].CGColor;
      • myLayer.delegate=self;
      • myLayer.contentsScale=[UIScreen mainScreen].scale;
      • [self.layerView.layer addSublayer:myLayer];
      • [blueLayer display];//与UIView不同,CALayer图层显示在屏幕上时,不会自动重绘,要显示调用方法
      • -(void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx{
      • CGContextSetLineWidth(ctx,10.0f);
      • CGContextSetStrokColorWithColor(ctx,[UIColor redColor].CGColor);
      • CGContextStrokeEllipseInRect(ctx,layer.bounds);
      • }

转载于:https://www.cnblogs.com/Jk-Chan/p/5269005.html

http://www.lbrq.cn/news/2554345.html

相关文章:

  • 高端企业门户网站建设服务公司外贸营销推广
  • 做视频网站视频存放问题企业培训计划方案
  • 榆林公司做网站外链发布
  • 有没有发布需求的网站网络营销公司招聘
  • 河南省建设监理协会网站重庆做网络优化公司电话
  • 想做棋牌网站怎么做google下载安卓版下载
  • wordpress归档侧边栏按分类长沙做优化的公司
  • linux做网站西安官网seo技术
  • 江苏网站建设空间徐州百度推广公司
  • 做百度推广首先要做网站吗上海网站建设服务
  • 做网站学不需要做后台管理系统能打开各种网站的浏览器下载
  • wordpress的css文件在百度上如何做优化网站
  • 美术生最吃香的专业seo推广公司有哪些
  • 企业网站优化方案模板什么是网络营销的核心
  • 做网站后台数据库建设指数基金定投技巧
  • dw制作一个手机网站模板下载企业宣传软文
  • 做网站数据库表设计关键词百度网盘
  • 商品展示介绍网站源码柏乡seo快排优化
  • 全国十大装修公司windows优化大师有哪些功能
  • 手机代码网站有哪些问题吗沈阳优化推广哪家好
  • 上海人才引进网站百度一下你就知道移动官网
  • 怎么用IP做网站地址百姓网推广怎么收费标准
  • 国外wordpress主题破解版潍坊seo网络推广
  • 做网站什么空间好磁力神器
  • 备案的博客网站可以做别的吗缅甸最新新闻
  • 南通的网站建设品牌推广手段
  • 网站做加qq群链接地址谷歌引擎搜索入口
  • 免费速建网站关键词优化搜索排名
  • 公众号怎么做文章编辑短视频seo询盘获客系统软件
  • 全国旅游卡appseo网站搜索优化
  • 超越 ChatGPT:智能体崛起,开启全自主 AI 时代
  • 【Python修仙编程】(二) Python3灵源初探(9)
  • JAVA后端开发:使用 MapStruct 实现 Java 对象映射
  • Docker部署Nacos
  • React 中获取当前路由信息
  • 基于电动自行车控制器设计方案