CALayer系列渗勘、CGContextRef、UIBezierPath俩莽、文本屬性Attributes

先上效果圖:


CALayer系列.gif
CGContextRef旺坠、UIBezierPath、文本屬性Attributes.gif

一扮超、CAEmitterLayer 粒子屬性

//設(shè)置發(fā)射器
   CAEmitterLayer *  _snowEmitter=[[CAEmitterLayer alloc]init];
    //發(fā)射器在xy平面的中心位置
    _snowEmitter.emitterPosition=CGPointMake(self.view.frame.size.width/2,self.view.frame.size.height/2);
    //發(fā)射器的尺寸大小
    _snowEmitter.emitterSize=CGSizeMake(20, 20);
    //發(fā)射器的渲染模式
    /*
     kCAEmitterLayerUnordered //這種模式下取刃,粒子是無序出現(xiàn)的,多個發(fā)射源將混合
     kCAEmitterLayerOldestFirst //這種模式下出刷,聲明久的粒子會被渲染在最上層
     kCAEmitterLayerOldestLast //這種模式下璧疗,年輕的粒子會被渲染在最上層
     kCAEmitterLayerBackToFront //這種模式下,粒子的渲染按照Z軸的前后順序進行
     kCAEmitterLayerAdditive //這種模式會進行粒子混合
     */
    _snowEmitter.renderMode = kCAEmitterLayerBackToFront;
    
    /*emitterShape
     kCAEmitterLayerPoint //點的形狀馁龟,粒子從一個點發(fā)出
     kCAEmitterLayerLine  //線的形狀崩侠,粒子從一條線發(fā)出
     kCAEmitterLayerRectangle //矩形形狀,粒子從一個矩形中發(fā)出
     kCAEmitterLayerCuboid //立方體形狀坷檩,會影響Z平面的效果
     kCAEmitterLayerCircle //圓形却音,粒子會在圓形范圍發(fā)射
     kCAEmitterLayerSphere //球型
     */
    _snowEmitter.emitterShape = kCAEmitterLayerPoint;
    _snowEmitter.preservesDepth = YES;
    
    /*發(fā)射器的發(fā)射模式
     kCAEmitterLayerPoints //從發(fā)射器中發(fā)出
     kCAEmitterLayerOutline //從發(fā)射器邊緣發(fā)出
     kCAEmitterLayerSurface //從發(fā)射器表面發(fā)出
     kCAEmitterLayerVolume //從發(fā)射器中點發(fā)出
     */
    _snowEmitter.emitterMode = kCAEmitterLayerVolume;
    
    /*下面是_snowEmitter的一些屬性
     _snowEmitter.birthRate //粒子的創(chuàng)建速率改抡,默認為1/s
     lifetime 粒子的存活時間。默認為1S
     emitterZPosition 發(fā)射器在Z平面的位置
     emitterDepth  發(fā)射器的深度系瓢,在某些發(fā)射模式下會產(chǎn)生立體效果
     emitterShape  發(fā)射器的形狀
     emitterMode  發(fā)射器的發(fā)射模式
     preservesDepth 是否開啟三維空間效果
     velocity 粒子的運動速度
     scale 粒子的縮放大小
     spin 粒子的旋轉(zhuǎn)位置
     seed 初始化隨機的粒子種子
     */
    
    
    //發(fā)射單元
    //火焰
    CAEmitterCell * snow = [CAEmitterCell emitterCell];
    //粒子的創(chuàng)建速率
    snow.birthRate = 22;
    //粒子的生存時間
    snow.lifetime = 2.0;
    //粒子的生存時間容差
    snow.lifetimeRange = 1.5;
    //粒子的顏色
    snow.color = [[UIColor whiteColor]CGColor];
    //渲染粒子阿纤,可以設(shè)置為一個CGImage的對象
    snow.contents = (id)[[UIImage imageNamed:@"snow.png"]CGImage];
    //設(shè)置發(fā)射單元的名稱
    snow.name = @"snow";
    //粒子的速度
    snow.velocity=160;
    //粒子速度的容差
    snow.velocityRange=80;
    //粒子在xy平面的發(fā)射角度
    snow.emissionLongitude= M_PI/2;
    //粒子發(fā)射角度的容差
    snow.emissionRange=M_PI/2;
    //縮放速度
    snow.scaleSpeed=0.3;
    //旋轉(zhuǎn)度
    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三個色相上的變化速度和透明度的變化速度
     
     */
    //粒子單元數(shù)組
    _snowEmitter.emitterCells = [NSArray arrayWithObjects:snow,nil];
    [self.view.layer addSublayer:_snowEmitter];

二欠拾、CAGradientLayer是用于色彩梯度展示的layer圖層

 /*CAGradientLayer的一些屬性
     //顏色數(shù)組,設(shè)置我們需要過的的顏色肌稻,必須是CGColor對象
    @property(nullable, copy) NSArray *colors;
   
     //顏色開始進行過渡的位置
     這個數(shù)組中的元素是NSNumber類型清蚀,單調(diào)遞增的,并且在0——1之間
     例如爹谭,如果我們設(shè)置兩個顏色進行過渡枷邪,這個數(shù)組中寫入0.5,則第一個顏色會在達到layer一半的時候開始向第二個顏色過渡
    @property(nullable, copy) NSArray<NSNumber *> *locations;
   
     //下面兩個參數(shù)用于設(shè)置渲染顏色的起點和終點 取值范圍均為0——1
     默認起點為(0.5 诺凡,0) 終點為(0.5 东揣,1),顏色的過渡范圍就是沿y軸從上向下
    @property CGPoint startPoint;
    @property CGPoint endPoint;
   
     //渲染風格 iOS中只支持一種默認的kCAGradientLayerAxial,我們無需手動設(shè)置
    @property(copy) NSString *type;
    */

三腹泌、富文本Attributes屬性

 /*
     
     NSKernAttributeName(文字間距) : @8
     NSFontAttributeName(字體設(shè)置)
     NSForegroundColorAttributeName(字體顏色)
     NSParagraphStyleAttributeName(段落樣式)
     NSBackgroundColorAttributeName(背景顏色)
     NSStrokeColorAttributeName(字體邊框顏色)和NSStrokeWidthAttributeName(字體邊框的寬度)嘶卧,字體邊框的寬度是按照和字體的大小進行比例設(shè)置的.這兩個屬性設(shè)置完成之后會出現(xiàn)兩種效果,如果NSStrokeWidthAttributeName為負數(shù),那么字體為描邊,如果NSStrokeWidthAttributeName為正整數(shù),字體的效果就成了空心字.值得注意的是,這兩個屬性必須要配合著使用,只設(shè)置一方面是不能實現(xiàn)效果的。
     NSStrikethroughStyleAttributeName(刪除線):@(NSUnderlineStyleSingle)
     NSUnderlineStyleAttributeName(下劃線) :@(NSUnderlineStyleSingle)
     NSUnderlineColorAttributeName  設(shè)置下劃線顏色
     NSVerticalGlyphFormAttributeName(文字排版方向) :@0 凉袱;0表示橫排 芥吟,1代表豎排  (沒看到效果)
     NSObliquenessAttributeName(文字傾斜) : @5;
     NSExpansionAttributeName(文字扁平化) :@1专甩;
     NSShadowAttributeName(文字陰影) :shadow
     NSShadowAttributeName對應的是NSShadow對象,單一使用不會有任何效果,需要配合著NSVerticalGlyphFormAttributeName(文字排版方向)钟鸵、NSObliquenessAttributeName(文字傾斜)、NSExpansionAttributeName(文字扁平化)配合使用
     NSWritingDirectionAttributeName(設(shè)置文字書寫方向):@(NSWritingDirectionRightToLeft) (沒看到效果)
     NSLinkAttributeName  設(shè)置鏈接屬性涤躲,點擊后調(diào)用瀏覽器打開指定URL地址
     NSAttachmentAttributeName          設(shè)置文本附件,取值為NSTextAttachment對象,常用于文字圖片混排

     */

還有CAReplicatorLayer棺耍、CAShapeLayer、CATextLayer种樱、CGContextRef蒙袍、UIBezierPath 用法就不在這里說了,詳情可以去Demo中查看或者去參考http://www.reibang.com/p/3f191880a567 嫩挤、http://www.reibang.com/p/6c9aa9c5dd68

贊一下害幅、么么噠.gif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市岂昭,隨后出現(xiàn)的幾起案子以现,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叼风,死亡現(xiàn)場離奇詭異取董,居然都是意外死亡,警方通過查閱死者的電腦和手機无宿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進店門茵汰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人孽鸡,你說我怎么就攤上這事蹂午。” “怎么了彬碱?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵豆胸,是天一觀的道長。 經(jīng)常有香客問我巷疼,道長晚胡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任嚼沿,我火速辦了婚禮估盘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘骡尽。我一直安慰自己遣妥,他們只是感情好,可當我...
    茶點故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布攀细。 她就那樣靜靜地躺著箫踩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪谭贪。 梳的紋絲不亂的頭發(fā)上境钟,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天,我揣著相機與錄音故河,去河邊找鬼吱韭。 笑死吆豹,一個胖子當著我的面吹牛鱼的,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播痘煤,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼凑阶,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了衷快?” 一聲冷哼從身側(cè)響起宙橱,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后师郑,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體环葵,經(jīng)...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年宝冕,在試婚紗的時候發(fā)現(xiàn)自己被綠了张遭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,438評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡地梨,死狀恐怖菊卷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情宝剖,我是刑警寧澤洁闰,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站万细,受9級特大地震影響扑眉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜赖钞,卻給世界環(huán)境...
    茶點故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一襟雷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧仁烹,春花似錦耸弄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至征唬,卻和暖如春捌显,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背总寒。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工扶歪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人摄闸。 一個月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓善镰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親年枕。 傳聞我的和親對象是個殘疾皇子炫欺,可洞房花燭夜當晚...
    茶點故事閱讀 45,446評論 2 359

推薦閱讀更多精彩內(nèi)容