国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS利用UIBezierPath + CAAnimation實現路徑動畫效果

2020-07-26 02:38:42
字體:
來源:轉載
供稿:網友

前言

上次給大家介紹了iOS利用UIBezierPath + CAAnimation實現路徑動畫效果的相關內容,今天實現一個根據心跳路徑實現一個路徑動畫,讓某一視圖沿著路徑進行運動.。

效果圖如下:

核心代碼

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

- (void)drawRect:(CGRect)rect { // Drawing code // 初始化UIBezierPath UIBezierPath *path = [UIBezierPath bezierPath]; // 首先設置一個起始點 CGPoint startPoint = CGPointMake(rect.size.width/2, 120); // 以起始點為路徑的起點 [path moveToPoint:startPoint]; // 設置一個終點 CGPoint endPoint = CGPointMake(rect.size.width/2, rect.size.height-40); // 設置第一個控制點 CGPoint controlPoint1 = CGPointMake(100, 20); // 設置第二個控制點 CGPoint controlPoint2 = CGPointMake(0, 180); // 添加三次貝塞爾曲線 [path addCurveToPoint:endPoint controlPoint1:controlPoint1 controlPoint2:controlPoint2]; // 設置另一個起始點 [path moveToPoint:endPoint]; // 設置第三個控制點 CGPoint controlPoint3 = CGPointMake(rect.size.width-100, 20); // 設置第四個控制點 CGPoint controlPoint4 = CGPointMake(rect.size.width, 180); // 添加三次貝塞爾曲線 [path addCurveToPoint:startPoint controlPoint1:controlPoint4 controlPoint2:controlPoint3]; // 設置線寬 path.lineWidth = 3; // 設置線斷面類型 path.lineCapStyle = kCGLineCapRound; // 設置連接類型 path.lineJoinStyle = kCGLineJoinRound; // 設置畫筆顏色 [[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-給動畫視圖(紅色圓形視圖)添加軌跡路徑動畫

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

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 化隆| 平山县| 内丘县| 嵊泗县| 绥江县| 灵丘县| 崇义县| 辉县市| 罗山县| 泽普县| 全椒县| 贵定县| 教育| 中方县| 福泉市| 信宜市| 肥城市| 三明市| 巨野县| 迁安市| 永州市| 西乌| 噶尔县| 凭祥市| 宁强县| 六安市| 思南县| 墨江| 宝应县| 梁平县| 永善县| 达州市| 文成县| 吉安市| 平顺县| 忻城县| 庆阳市| 六枝特区| 朝阳区| 绵竹市| 平远县|