CALayer系列、CGContextRef、UIBezierPath、文本属性Attributes

先上效果图:


CALayer系列.gif
CGContextRef、UIBezierPath、文本属性Attributes.gif

一、CAEmitterLayer 粒子属性

//设置发射器
   CAEmitterLayer *  _snowEmitter=[[CAEmitterLayer alloc]init];
    //发射器在xy平面的中心位置
    _snowEmitter.emitterPosition=CGPointMake(self.view.frame.size.width/2,self.view.frame.size.height/2);
    //发射器的尺寸大小
    _snowEmitter.emitterSize=CGSizeMake(20, 20);
    //发射器的渲染模式
    /*
     kCAEmitterLayerUnordered //这种模式下,粒子是无序出现的,多个发射源将混合
     kCAEmitterLayerOldestFirst //这种模式下,声明久的粒子会被渲染在最上层
     kCAEmitterLayerOldestLast //这种模式下,年轻的粒子会被渲染在最上层
     kCAEmitterLayerBackToFront //这种模式下,粒子的渲染按照Z轴的前后顺序进行
     kCAEmitterLayerAdditive //这种模式会进行粒子混合
     */
    _snowEmitter.renderMode = kCAEmitterLayerBackToFront;
    
    /*emitterShape
     kCAEmitterLayerPoint //点的形状,粒子从一个点发出
     kCAEmitterLayerLine  //线的形状,粒子从一条线发出
     kCAEmitterLayerRectangle //矩形形状,粒子从一个矩形中发出
     kCAEmitterLayerCuboid //立方体形状,会影响Z平面的效果
     kCAEmitterLayerCircle //圆形,粒子会在圆形范围发射
     kCAEmitterLayerSphere //球型
     */
    _snowEmitter.emitterShape = kCAEmitterLayerPoint;
    _snowEmitter.preservesDepth = YES;
    
    /*发射器的发射模式
     kCAEmitterLayerPoints //从发射器中发出
     kCAEmitterLayerOutline //从发射器边缘发出
     kCAEmitterLayerSurface //从发射器表面发出
     kCAEmitterLayerVolume //从发射器中点发出
     */
    _snowEmitter.emitterMode = kCAEmitterLayerVolume;
    
    /*下面是_snowEmitter的一些属性
     _snowEmitter.birthRate //粒子的创建速率,默认为1/s
     lifetime 粒子的存活时间。默认为1S
     emitterZPosition 发射器在Z平面的位置
     emitterDepth  发射器的深度,在某些发射模式下会产生立体效果
     emitterShape  发射器的形状
     emitterMode  发射器的发射模式
     preservesDepth 是否开启三维空间效果
     velocity 粒子的运动速度
     scale 粒子的缩放大小
     spin 粒子的旋转位置
     seed 初始化随机的粒子种子
     */
    
    
    //发射单元
    //火焰
    CAEmitterCell * snow = [CAEmitterCell emitterCell];
    //粒子的创建速率
    snow.birthRate = 22;
    //粒子的生存时间
    snow.lifetime = 2.0;
    //粒子的生存时间容差
    snow.lifetimeRange = 1.5;
    //粒子的颜色
    snow.color = [[UIColor whiteColor]CGColor];
    //渲染粒子,可以设置为一个CGImage的对象
    snow.contents = (id)[[UIImage imageNamed:@"snow.png"]CGImage];
    //设置发射单元的名称
    snow.name = @"snow";
    //粒子的速度
    snow.velocity=160;
    //粒子速度的容差
    snow.velocityRange=80;
    //粒子在xy平面的发射角度
    snow.emissionLongitude= M_PI/2;
    //粒子发射角度的容差
    snow.emissionRange=M_PI/2;
    //缩放速度
    snow.scaleSpeed=0.3;
    //旋转度
    snow.spin=0.2;
    
    /*下面是snow的一些属性
     
     xAcceleration/yAcceleration/zAcceleration; x,y,z三个方向的加速度
     contentsRect 渲染的范围
     
     @property float redRange;
     @property float greenRange;
     @property float blueRange;
     @property float alphaRange;
     粒子在rgb三个色相上的容差和透明度的容差
     
     @property float redSpeed;
     @property float greenSpeed;
     @property float blueSpeed;
     @property float alphaSpeed;
     粒子在RGB三个色相上的变化速度和透明度的变化速度
     
     */
    //粒子单元数组
    _snowEmitter.emitterCells = [NSArray arrayWithObjects:snow,nil];
    [self.view.layer addSublayer:_snowEmitter];

二、CAGradientLayer是用于色彩梯度展示的layer图层

 /*CAGradientLayer的一些属性
     //颜色数组,设置我们需要过的的颜色,必须是CGColor对象
    @property(nullable, copy) NSArray *colors;
   
     //颜色开始进行过渡的位置
     这个数组中的元素是NSNumber类型,单调递增的,并且在0——1之间
     例如,如果我们设置两个颜色进行过渡,这个数组中写入0.5,则第一个颜色会在达到layer一半的时候开始向第二个颜色过渡
    @property(nullable, copy) NSArray<NSNumber *> *locations;
   
     //下面两个参数用于设置渲染颜色的起点和终点 取值范围均为0——1
     默认起点为(0.5 ,0) 终点为(0.5 ,1),颜色的过渡范围就是沿y轴从上向下
    @property CGPoint startPoint;
    @property CGPoint endPoint;
   
     //渲染风格 iOS中只支持一种默认的kCAGradientLayerAxial,我们无需手动设置
    @property(copy) NSString *type;
    */

三、富文本Attributes属性

 /*
     
     NSKernAttributeName(文字间距) : @8
     NSFontAttributeName(字体设置)
     NSForegroundColorAttributeName(字体颜色)
     NSParagraphStyleAttributeName(段落样式)
     NSBackgroundColorAttributeName(背景颜色)
     NSStrokeColorAttributeName(字体边框颜色)和NSStrokeWidthAttributeName(字体边框的宽度),字体边框的宽度是按照和字体的大小进行比例设置的.这两个属性设置完成之后会出现两种效果,如果NSStrokeWidthAttributeName为负数,那么字体为描边,如果NSStrokeWidthAttributeName为正整数,字体的效果就成了空心字.值得注意的是,这两个属性必须要配合着使用,只设置一方面是不能实现效果的。
     NSStrikethroughStyleAttributeName(删除线):@(NSUnderlineStyleSingle)
     NSUnderlineStyleAttributeName(下划线) :@(NSUnderlineStyleSingle)
     NSUnderlineColorAttributeName  设置下划线颜色
     NSVerticalGlyphFormAttributeName(文字排版方向) :@0 ;0表示横排 ,1代表竖排  (没看到效果)
     NSObliquenessAttributeName(文字倾斜) : @5;
     NSExpansionAttributeName(文字扁平化) :@1;
     NSShadowAttributeName(文字阴影) :shadow
     NSShadowAttributeName对应的是NSShadow对象,单一使用不会有任何效果,需要配合着NSVerticalGlyphFormAttributeName(文字排版方向)、NSObliquenessAttributeName(文字倾斜)、NSExpansionAttributeName(文字扁平化)配合使用
     NSWritingDirectionAttributeName(设置文字书写方向):@(NSWritingDirectionRightToLeft) (没看到效果)
     NSLinkAttributeName  设置链接属性,点击后调用浏览器打开指定URL地址
     NSAttachmentAttributeName          设置文本附件,取值为NSTextAttachment对象,常用于文字图片混排

     */

还有CAReplicatorLayer、CAShapeLayer、CATextLayer、CGContextRef、UIBezierPath 用法就不在这里说了,详情可以去Demo中查看或者去参考http://www.jianshu.com/p/3f191880a567http://www.jianshu.com/p/6c9aa9c5dd68

赞一下、么么哒.gif
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容