国产探花免费观看_亚洲丰满少妇自慰呻吟_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];

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海淀区| 武城县| 大新县| 伊川县| 会泽县| 漠河县| 通城县| 集贤县| 尼玛县| 东乡县| 色达县| 灵璧县| 华坪县| 淮阳县| 罗城| 县级市| 潼关县| 达日县| 盐池县| 吉水县| 上饶市| 城固县| 肇东市| 巴楚县| 龙井市| 若羌县| 杨浦区| 达拉特旗| 黑龙江省| 禄丰县| 礼泉县| 彝良县| 广汉市| 乌恰县| 兰坪| 从化市| 金塔县| 岳阳县| 邓州市| 油尖旺区| 沂南县|