Layer

CAShapeLayer 屬性

 @property(nullable)  CGPathRef  path;
//  用來(lái)定義呈現(xiàn)形狀的路徑 , 如果該路徑延伸到父Layer之外的范圍,  
    并不會(huì)自動(dòng)被父Layer裁剪掉多出的部分,除非是正常的被遮蓋的情  
    況下才會(huì)被父Layer層自動(dòng)裁剪掉 
    (注意點(diǎn): 雖然這個(gè)路徑可以用來(lái)做動(dòng)畫,當(dāng)它的路徑被改變的時(shí)候會(huì)默認(rèn)創(chuàng)建一個(gè)隱式動(dòng)畫)

  // 路徑填充顏色
@property(nullable) CGColorRef fillColor;   
// 將顏色填充整個(gè)路徑, 為空則不填充, 默認(rèn)屬性為黑色不透明

//  填充路徑時(shí)所使用的填充規(guī)則
@property(copy) NSString *fillRule;

// 外邊框顏色  - 支持隱式動(dòng)畫
@property(nullable) CGColorRef strokeColor;

//  這些值定義了此次被用于繪畫的輪廓路徑(區(qū)域范圍) 
 這些值的范圍必須是[0腕让,1]之間包含0和1這些在0和1之間的值會(huì)沿著路徑的輪廓被線性的插入進(jìn)去   (支持隱式動(dòng)畫)
@property CGFloat strokeStart;   // 路徑起點(diǎn)
@property CGFloat strokeEnd;    //  結(jié)束位置

@property CGFloat lineWidth;  // 填充路徑的線寬 ,默認(rèn)為1(支持隱式動(dòng)畫)

// 路徑被填充的斜切角限制  默認(rèn)為10(支持隱式動(dòng)畫)
@property CGFloat miterLimit;

// 線兩頭樣式   方形/圓形/   默認(rèn)為
@property(copy) NSString *lineCap;

//  拐角樣式   選項(xiàng)為: `miter',`round'and`bevel'.Defaults to`miter'
  斜切角/ 圓角/ 斜角  默認(rèn)為 切角
@property(copy) NSString *lineJoin;

// 線樣式顯示為虛線  
@property CGFloat lineDashPhase;

// 虛線模式  文檔是這樣寫的   
  The dash pattern (an array of NSNumbers) applied when creating the
 *stroked version of the path. Defaults to nil
@property(nullable, copy) NSArray<NSNumber *> *lineDashPattern;
例子:  
    #define  PROGREESS_WIDTH 150 //圓直徑
    #define PROGRESS_LINE_WIDTH 6 //弧線的寬度

    CAShapeLayer *trackLayer = [CAShapeLayer layer];//創(chuàng)建一個(gè)track shape layer
    trackLayer.frame = self.bounds;
    [self.layer addSublayer:_trackLayer];
    trackLayer.fillColor = [[UIColor clearColor] CGColor];
    trackLayer.strokeColor = [[UIColor lightGrayColor] CGColor];//指定path的渲染顏色
    trackLayer.opacity = 0.25; // 設(shè)置自己的透明度
    trackLayer.lineCap = kCALineCapRound;   //指定線的邊緣是圓的
    trackLayer.lineWidth = 5;//線的寬度
    
    UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(40, 40) radius:(PROGREESS_WIDTH-PROGRESS_LINE_WIDTH)/2 startAngle:degreesToRadians(-270) endAngle:degreesToRadians(30) clockwise:YES];//上面說(shuō)明過(guò)了用來(lái)構(gòu)建圓形
    trackLayer.path =[path CGPath]; //把path傳遞給layer枕稀,然后layer會(huì)處理相應(yīng)的渲染嗦明,整個(gè)邏輯和CoreGraph是一致的果港。

CAGradientLayer 屬性

// 定義每個(gè)漸變顏色的CGColorRef對(duì)象數(shù)組
@property(nullable, copy) NSArray *colors;

// 定義每個(gè)漸變對(duì)象漸變的位置區(qū)域,并且每個(gè)漸變對(duì)象的的值都在 [0 , 1]之間的NSNumber對(duì)象數(shù)組,而且每添加一個(gè)新的lacation位置區(qū)域?qū)ο? 對(duì)它所賦予的值都是呈單調(diào)增加的
@property(nullable, copy) NSArray<NSNumber *> *locations;

// 被畫入父Layer的空間位置的起始點(diǎn)和終點(diǎn)
@property CGPoint startPoint;
@property CGPoint endPoint;

// 設(shè)置類型之后,此種漸變將會(huì)被繪制, 目前僅支持 axial 漸變類型(默認(rèn)值)
@property(copy) NSString *type;
 #使用示例
    CAGradientLayer *gradientLayer =  [CAGradientLayer layer];
    gradientLayer.frame = CGRectMake(0, 0, self.frame.size.width/2, self.frame.size.height);   
    [gradientLayer setColors:[NSArray arrayWithObjects:(id)[[UIColor redColor] CGColor],(id)[[UIColor blueColor] CGColor], nil]];  // 設(shè)置顏色,系統(tǒng)自動(dòng)轉(zhuǎn)換為CGColorRef 對(duì)象
    [gradientLayer setLocations:@[@0.5,@0.9,@1 ]];  //每個(gè)漸變的區(qū)間范圍
    [gradientLayer setStartPoint:CGPointMake(1, 1)];  // 起始點(diǎn)
    [gradientLayer setEndPoint:CGPointMake(5, 5)];  // 終點(diǎn)
        [self.layer addSublayer:gradientLayer1];

PS: 記錄一下,剛剛開(kāi)始研究您旁。 有不對(duì)的地方望指正蛔六。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末帕胆,一起剝皮案震驚了整個(gè)濱河市数尿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌惶楼,老刑警劉巖右蹦,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異歼捐,居然都是意外死亡何陆,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門豹储,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)贷盲,“玉大人,你說(shuō)我怎么就攤上這事剥扣」剩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵钠怯,是天一觀的道長(zhǎng)佳魔。 經(jīng)常有香客問(wèn)我,道長(zhǎng)晦炊,這世上最難降的妖魔是什么鞠鲜? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮断国,結(jié)果婚禮上贤姆,老公的妹妹穿的比我還像新娘。我一直安慰自己稳衬,他們只是感情好霞捡,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著薄疚,像睡著了一般碧信。 火紅的嫁衣襯著肌膚如雪赊琳。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,730評(píng)論 1 289
  • 那天音婶,我揣著相機(jī)與錄音慨畸,去河邊找鬼莱坎。 笑死衣式,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的檐什。 我是一名探鬼主播碴卧,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼乃正!你這毒婦竟也來(lái)了住册?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤瓮具,失蹤者是張志新(化名)和其女友劉穎荧飞,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體名党,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡叹阔,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了传睹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耳幢。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖欧啤,靈堂內(nèi)的尸體忽然破棺而出睛藻,到底是詐尸還是另有隱情,我是刑警寧澤邢隧,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布店印,位于F島的核電站,受9級(jí)特大地震影響倒慧,放射性物質(zhì)發(fā)生泄漏吱窝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一迫靖、第九天 我趴在偏房一處隱蔽的房頂上張望院峡。 院中可真熱鬧,春花似錦系宜、人聲如沸照激。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)俩垃。三九已至励幼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間口柳,已是汗流浹背苹粟。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留跃闹,地道東北人嵌削。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像望艺,于是被迫代替她去往敵國(guó)和親苛秕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

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

  • 片頭曲 曲曲曲曲曲曲曲曲曲曲曲曲曲 6.常用layer 6.1 CAShapeLayer CAShapeLayer...
    人生路02閱讀 500評(píng)論 0 0
  • 轉(zhuǎn)載:http://www.reibang.com/p/32fcadd12108 每個(gè)UIView有一個(gè)伙伴稱為l...
    F麥子閱讀 6,167評(píng)論 0 13
  • 筆記主要來(lái)源iOS核心動(dòng)畫高級(jí)技巧找默,感謝作者與翻譯的各位同學(xué). 一艇劫、圖層樹(shù) UIView、NSView都有一個(gè)關(guān)聯(lián)...
    幸運(yùn)的白鴿閱讀 3,466評(píng)論 0 3
  • 每個(gè)UIView有一個(gè)伙伴稱為layer惩激,一個(gè)CALayer店煞。UIView實(shí)際上并沒(méi)有把自己畫到屏幕上;它繪制本身...
    shenzhenboy閱讀 3,088評(píng)論 0 17
  • 本文是筆者學(xué)習(xí)iOS動(dòng)畫的一些小總結(jié),接第一彈风钻; Layer Animation 第一彈中主要是關(guān)于View An...
    longjianjiang閱讀 1,332評(píng)論 0 1