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

首頁 > 系統 > iOS > 正文

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

2020-02-19 15:45:01
字體:
來源:轉載
供稿:網友

不管是安卓系統開發,還是IOS開發,現在都以動圖為主,本文是武林技術頻道小編帶給大家的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];

以上就是武林技術頻道小編介紹的關于iOS利用UIBezierPath + CAAnimation實現路徑動畫效果,相信通過介紹大家更加了解,歡迎大家隨時關注js.Vevb.com。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 张家港市| 高雄市| 东港市| 唐海县| 越西县| 汉寿县| 金寨县| 名山县| 高唐县| 都匀市| 读书| 焦作市| 岑溪市| 都江堰市| 财经| 伽师县| 花莲县| 文登市| 曲阜市| 稻城县| 巫溪县| 沙坪坝区| 光山县| 晋城| 新巴尔虎右旗| 济源市| 齐齐哈尔市| 平果县| 临安市| 枣阳市| 锡林浩特市| 启东市| 双流县| 苍山县| 左云县| 栾城县| 安顺市| 曲靖市| 曲麻莱县| 英吉沙县| 安徽省|