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

iOS利用UIBezierPath + CAAnimation實(shí)現(xiàn)路徑動(dòng)畫效果

 更新時(shí)間:2017年10月26日 10:28:06   作者:Mazy_ma  
在iOS開發(fā)中,制作動(dòng)畫效果是最讓開發(fā)者享受的環(huán)節(jié)之一,這篇文章主要給大家介紹了關(guān)于iOS利用UIBezierPath + CAAnimation實(shí)現(xiàn)路徑動(dòng)畫效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

上次給大家介紹了iOS利用UIBezierPath + CAAnimation實(shí)現(xiàn)路徑動(dòng)畫效果的相關(guān)內(nèi)容,今天實(shí)現(xiàn)一個(gè)根據(jù)心跳路徑實(shí)現(xiàn)一個(gè)路徑動(dòng)畫,讓某一視圖沿著路徑進(jìn)行運(yùn)動(dòng).。

效果圖如下:

核心代碼

1-首先通過 drawRect 繪制心形路徑

- (void)drawRect:(CGRect)rect {
 // Drawing code
 // 初始化UIBezierPath
 UIBezierPath *path = [UIBezierPath bezierPath];
 // 首先設(shè)置一個(gè)起始點(diǎn)
 CGPoint startPoint = CGPointMake(rect.size.width/2, 120);
 // 以起始點(diǎn)為路徑的起點(diǎn)
 [path moveToPoint:startPoint];
 // 設(shè)置一個(gè)終點(diǎn)
 CGPoint endPoint = CGPointMake(rect.size.width/2, rect.size.height-40);
 // 設(shè)置第一個(gè)控制點(diǎn)
 CGPoint controlPoint1 = CGPointMake(100, 20);
 // 設(shè)置第二個(gè)控制點(diǎn)
 CGPoint controlPoint2 = CGPointMake(0, 180);
 // 添加三次貝塞爾曲線
 [path addCurveToPoint:endPoint controlPoint1:controlPoint1 controlPoint2:controlPoint2];
 // 設(shè)置另一個(gè)起始點(diǎn)
 [path moveToPoint:endPoint];
 // 設(shè)置第三個(gè)控制點(diǎn)
 CGPoint controlPoint3 = CGPointMake(rect.size.width-100, 20);
 // 設(shè)置第四個(gè)控制點(diǎn)
 CGPoint controlPoint4 = CGPointMake(rect.size.width, 180);
 // 添加三次貝塞爾曲線
 [path addCurveToPoint:startPoint controlPoint1:controlPoint4 controlPoint2:controlPoint3];
 // 設(shè)置線寬
 path.lineWidth = 3;
 // 設(shè)置線斷面類型
 path.lineCapStyle = kCGLineCapRound;
 // 設(shè)置連接類型
 path.lineJoinStyle = kCGLineJoinRound;
 // 設(shè)置畫筆顏色
 [[UIColor redColor] set];
 [path stroke];
}

2-添加心形路徑View到主視圖

 HeartView *heart = [[HeartView alloc] init];
 heart.frame = CGRectMake(0, 0, Screen_Width, Screen_Height-Screen_Height);
 [self.view addSubview:heart];

3-給動(dòng)畫視圖(紅色圓形視圖)添加軌跡路徑動(dòng)畫

 CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
 // 設(shè)置動(dòng)畫的路徑為心形路徑
 animation.path = self.path.CGPath;
 // 動(dòng)畫時(shí)間間隔
 animation.duration = 3.0f;
 // 重復(fù)次數(shù)為最大值
 animation.repeatCount = FLT_MAX;
 animation.removedOnCompletion = NO;
 animation.fillMode = kCAFillModeForwards;
 // 將動(dòng)畫添加到動(dòng)畫視圖上
 [_demoView.layer addAnimation:animation forKey:nil];

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • UIImage加載圖片Images.xcassets加載方法的影響

    UIImage加載圖片Images.xcassets加載方法的影響

    這篇文章主要介紹了UIImage加載圖片Images.xcassets加載方法的影響的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • iOS上下拉刷新控件MJRefresh使用方法詳解

    iOS上下拉刷新控件MJRefresh使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了iOS上下拉刷新控件MJRefresh的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • IOS10 配置權(quán)限詳細(xì)介紹

    IOS10 配置權(quán)限詳細(xì)介紹

    這篇文章主要介紹了IOS10 配置權(quán)限詳細(xì)介紹的相關(guān)資料,訪問相機(jī)、相冊(cè)、麥克風(fēng)、通訊錄等等權(quán)限,都需要進(jìn)行相關(guān)的配置,不然會(huì)直接crash,需要的朋友可以參考下
    2016-12-12
  • iOS簡(jiǎn)單抽屜效果的實(shí)現(xiàn)方法

    iOS簡(jiǎn)單抽屜效果的實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了iOS簡(jiǎn)單抽屜效果的實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • iOS適配iPhone XS、 iPhone XS Max and iPhone XR的方法淺析

    iOS適配iPhone XS、 iPhone XS Max and iPhone XR的方法淺析

    這篇文章主要給大家介紹了關(guān)于iOS適配iPhone XS、 iPhone XS Max and iPhone XR的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • ios app重提提交審核流程

    ios app重提提交審核流程

    本篇文章給大家講述了在APP第一次沒有審核通過后,重新提交的流程和注意的地方,學(xué)習(xí)一下吧。
    2017-12-12
  • 談?wù)刬OS開發(fā)之JSON格式數(shù)據(jù)的生成與解析

    談?wù)刬OS開發(fā)之JSON格式數(shù)據(jù)的生成與解析

    JSON格式取代了xml給網(wǎng)絡(luò)傳輸帶來了很大的便利,本篇文章主要介紹了iOS開發(fā):對(duì)象直接轉(zhuǎn)化成JSON詳解,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-01-01
  • iOS實(shí)現(xiàn)app間跳轉(zhuǎn)功能

    iOS實(shí)現(xiàn)app間跳轉(zhuǎn)功能

    這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)app間跳轉(zhuǎn)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • XCode 加快編譯鏈接速度的方法

    XCode 加快編譯鏈接速度的方法

    這篇文章主要介紹了XCode 加快編譯鏈接速度的方法的相關(guān)資料,這里整理了三種方法,需要的朋友可以參考下
    2016-10-10
  • iOS自定義相機(jī)功能

    iOS自定義相機(jī)功能

    這篇文章主要為大家詳細(xì)介紹了iOS自定義相機(jī)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07

最新評(píng)論