欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS開發(fā)教程之扇形動畫的實現(xiàn)

 更新時間:2017年06月19日 08:55:00   作者:belin  
實現(xiàn)扇形圖大家應該都會的,但是扇形動畫大家都會實現(xiàn)嗎?下面這篇文章主要給大家介紹了關于iOS開發(fā)教程之扇形動畫實現(xiàn)的相關資料,文中介紹的非常詳細,需要的朋友們下面跟著小編一起來學習學習吧。

前言

最近比較閑,正好利用這段時間把現(xiàn)在項目用的東西封裝一下,方便以后復用,當然好的東西還是要分享。一起學習,一起進步。

看圖片,很顯然這是一個扇形圖,相信大家對做扇形圖得心應手,可能對做扇形動畫有一定難度,不急,下面給出代碼和思路。

針對項目用的扇形動畫,在這個基礎上我做了一下封裝。

核心代碼如下:

-(instancetype)initWithCenter:(CGPoint)center radius:(CGFloat)radius bgColor:(UIColor *)bgColor repeatCount:(NSInteger)repeatCount {
 if (self = [super init]) {

  //設置self的frame和center
  self.backgroundColor = bgColor;
  self.frame = CGRectMake(0, 0, radius * 2, radius * 2);
  self.center = center;

  _repeatCount = repeatCount;
  //特別注意:貝塞爾曲線的radius必須為self高度的四分之一,CAShapeLayer的線寬必須為self高度的二分之一
  UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(radius, radius) radius:radius / 2 startAngle:-M_PI/2 endAngle:M_PI *3 / 2 clockwise:YES];

  CAShapeLayer *maskLayer = [CAShapeLayer layer];
  maskLayer.path = path.CGPath;
  maskLayer.fillColor = [UIColor clearColor].CGColor;
  maskLayer.strokeColor = bgColor.CGColor;
  maskLayer.lineWidth = radius; //等于半徑的2倍,以圓的邊緣為中心,向圓內(nèi)部伸展一個半徑,向外伸展一個半徑,所以看上去以為圓的半徑是self高度的一半。

  self.layer.mask = maskLayer;
  _maskLayer = maskLayer;
 }

 return self;
}
-(void)startAnimaiton {
 //開始執(zhí)行扇形動畫
 CABasicAnimation *strokeEndAni = [CABasicAnimation animationWithKeyPath:@"strokeEnd"];
 strokeEndAni.fromValue = @0;
 strokeEndAni.toValue = @1;
 strokeEndAni.duration = 1;
 //重復次數(shù)
 strokeEndAni.repeatCount = _repeatCount;

 [_maskLayer addAnimation:strokeEndAni forKey:@"ani"];
}

思路

可以讓fillcolor 為clearcolor 讓linewidth充滿整個圓,然后讓strokeend執(zhí)行動畫,從而實現(xiàn)扇形動畫。

下載地址:源碼下載 | 本地下載

調(diào)用方法很簡單:直接看API

/**
初始化對象
@param center 中心
@param radius self寬度的一半
@param bgColor 背景色
@param repeatCount 動畫重復次數(shù)
@return self
*/
-(instancetype)initWithCenter:(CGPoint)center radius:(CGFloat)radius bgColor:(UIColor *)bgColor repeatCount:(NSInteger)repeatCount;
-(void)startAnimaiton;
-(void)puaseAnimation;

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:

相關文章

  • iOS應用開發(fā)中UITabBarController標簽欄控制器使用進階

    iOS應用開發(fā)中UITabBarController標簽欄控制器使用進階

    這篇文章主要介紹了iOS應用開發(fā)中UITabBarController標簽欄控制器的使用進階,實例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2016-03-03
  • IOS中實現(xiàn)圖片點擊全屏預覽

    IOS中實現(xiàn)圖片點擊全屏預覽

    IOS作為一款智能手機系統(tǒng),在查看圖片的時候,如果能夠?qū)崿F(xiàn)全屏,對用戶來說有很好的視覺體驗,其實實現(xiàn)起來非常的簡單,下面我就結(jié)合一個簡單的代碼給大家來分享一下,,需要的朋友可以參考下
    2015-11-11
  • iOS自定義日歷控件的簡單實現(xiàn)過程

    iOS自定義日歷控件的簡單實現(xiàn)過程

    這篇文章主要為大家詳細介紹了iOS自定義日歷控件的簡單實現(xiàn)過程,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • iOS 設置UILabel的行間距并自適應高度的方法

    iOS 設置UILabel的行間距并自適應高度的方法

    下面小編就為大家?guī)硪黄猧OS 設置UILabel的行間距并自適應高度的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • 解決iOS驗證碼顯示在左邊問題

    解決iOS驗證碼顯示在左邊問題

    這篇文章主要介紹了iOS驗證碼顯示在左邊問題,本文給大家分享解決思路通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • ios的手勢操作之UIGestureRecognizer淺析(推薦)

    ios的手勢操作之UIGestureRecognizer淺析(推薦)

    本篇文章主要介紹了ios的手勢操作之UIGestureRecognizer淺析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。
    2016-12-12
  • Objective-C的NSOperation多線程類基本使用指南

    Objective-C的NSOperation多線程類基本使用指南

    這篇文章主要介紹了Objective-C的NSOperation多線程類基本使用指南,談到了Operations的執(zhí)行順序和并發(fā)量等設置操作,需要的朋友可以參考下
    2016-02-02
  • iOS 10 使用相機相簿閃退的bug修正方法

    iOS 10 使用相機相簿閃退的bug修正方法

    iOS 10 中使用相機相簿閃退的問題需要我們在Info.plist 加入指定的 key,下面小編給大家介紹下,一起看看吧
    2016-10-10
  • iOS 定制多樣式二維碼

    iOS 定制多樣式二維碼

    最常見的二維碼功能包括信息獲取、網(wǎng)站跳轉(zhuǎn)、電商交易、手機支付等等,其擁有密度小、信息容量大、容錯能力強、成本低、制作難度低等優(yōu)點。在移動開發(fā)中,二維碼的地位也越來越重要,掌握二維碼的基本操作是重要的本領之一。本文將講解iOS定制二維碼的步驟與方法。
    2017-03-03
  • ios的collection控件的自定義布局實現(xiàn)與設計

    ios的collection控件的自定義布局實現(xiàn)與設計

    這篇文章主要介紹了mac、iOS端支持自定義布局的collection控件的實現(xiàn)與設計,需要的朋友學習參考下吧。
    2017-12-12

最新評論