亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS 基本動畫、關鍵幀動畫、利用緩動函數實現物理動畫效果

2020-07-26 03:07:31
字體:
來源:轉載
供稿:網友

iOS基本動畫/關鍵幀動畫/利用緩動函數實現物理動畫效果

先說下基本動畫部分

基本動畫部分比較簡單, 但能實現的動畫效果也很局限

使用方法大致為:

#1. 創建原始UI或者畫面

#2. 創建CABasicAnimation實例, 并設置keypart/duration/fromValue/toValue

#3. 設置動畫最終停留的位置

#4. 將配置好的動畫添加到layer層中

舉個例子, 比如實現一個圓形從上往下移動, 上代碼:

//設置原始畫面  UIView *showView        = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];  showView.layer.masksToBounds  = YES;  showView.layer.cornerRadius  = 50.f;  showView.layer.backgroundColor = [UIColor redColor].CGColor;  [self.view addSubview:showView];    //創建基本動畫  CABasicAnimation *basicAnimation = [CABasicAnimation animation];    //設置屬性  basicAnimation.keyPath      = @"position";  basicAnimation.duration     = 4.0f;  basicAnimation.fromValue     = [NSValue valueWithCGPoint:showView.center];  basicAnimation.toValue      = [NSValue valueWithCGPoint:CGPointMake(50, 300)];    //設置動畫結束位置  showView.center = CGPointMake(50, 300);    //添加動畫到layer層  [showView.layer addAnimation:basicAnimation forKey:nil];

接下來說下關鍵幀動畫

其實跟基本動畫差不多, 只是能設置多個動畫路徑  使用方法也類似, 大致為

#1. 創建原始UI或者畫面

#2. 創建CAKeyframeAnimation實例, 并設置keypart/duration/values 相比基本動畫只能設置開始和結束點, 關鍵幀動畫能添加多個動畫路徑點

#3. 設置動畫最終停留的位置

#4. 將配置好的動畫添加到layer層中

舉個例子, 紅色圓形左右晃動往下墜落 上代碼:

//設置原始畫面  UIView *showView        = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];  showView.layer.masksToBounds  = YES;  showView.layer.cornerRadius  = 50.f;  showView.layer.backgroundColor = [UIColor redColor].CGColor;    [self.view addSubview:showView];    //創建關鍵幀動畫  CAKeyframeAnimation *keyFrameAnimation = [CAKeyframeAnimation animation];    //設置動畫屬性  keyFrameAnimation.keyPath       = @"position";  keyFrameAnimation.duration       = 4.0f;    keyFrameAnimation.values = @[[NSValue valueWithCGPoint:showView.center],                 [NSValue valueWithCGPoint:CGPointMake(100, 100)],                 [NSValue valueWithCGPoint:CGPointMake(50, 150)],                 [NSValue valueWithCGPoint:CGPointMake(200, 200)]];    //設置動畫結束位置  showView.center = CGPointMake(200, 200);    //添加動畫到layer層  [showView.layer addAnimation:keyFrameAnimation forKey:nil];

最后是利用緩動函數配合關鍵幀動畫實現比較復雜的物理性動畫

先說說什么是緩動函數, 就是有高人寫了一個庫可以計算出模擬物理性動畫(比如彈簧效果)所要的路徑

Github地址: https://github.com/YouXianMing/EasingAnimation

具體有哪些動畫效果可看庫中的緩動函數查詢表, 簡單舉個小球落地的效果

上代碼:

//設置原始畫面  UIView *showView        = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];  showView.layer.masksToBounds  = YES;  showView.layer.cornerRadius  = 50.f;  showView.layer.backgroundColor = [UIColor redColor].CGColor;    [self.view addSubview:showView];    //創建關鍵幀動畫  CAKeyframeAnimation *keyFrameAnimation = [CAKeyframeAnimation animation];    //設置動畫屬性  keyFrameAnimation.keyPath       = @"position";  keyFrameAnimation.duration       = 4.0f;      //關鍵處, 在這里使用的緩動函數計算點路徑  keyFrameAnimation.values = [YXEasing calculateFrameFromPoint:showView.center                             toPoint:CGPointMake(50, 300)                              func:BounceEaseOut                           frameCount:4.0f * 30];    //設置動畫結束位置  showView.center = CGPointMake(50, 300);    //添加動畫到layer層  [showView.layer addAnimation:keyFrameAnimation forKey:nil];

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美综合在线观看| 91久久中文字幕| 欧美日韩精品国产| 97热精品视频官网| 精品在线欧美视频| 久久精品99久久久香蕉| 中文字幕精品一区二区精品| 亚洲美女免费精品视频在线观看| 精品无人区乱码1区2区3区在线| 亚洲国产精品免费| 97国产真实伦对白精彩视频8| 亚洲精品久久久久国产| 麻豆一区二区在线观看| 91国产美女在线观看| 日韩美女毛茸茸| 国产91精品视频在线观看| 欧美日韩在线视频一区| 丝袜美腿亚洲一区二区| 精品国产欧美一区二区三区成人| 欧美综合第一页| 26uuu亚洲伊人春色| 亚洲国产精品一区二区三区| 成人激情在线观看| 91国产美女视频| 国产精品视频区| 97**国产露脸精品国产| 亚洲人av在线影院| 欧美自拍大量在线观看| 日韩成人在线电影网| 全色精品综合影院| 国产欧美一区二区三区四区| 久久av在线播放| 久久久久999| 欧美自拍视频在线观看| 欧美激情videos| 亚洲国产精品久久精品怡红院| 久久久久久有精品国产| 精品自在线视频| 热久久这里只有| 国产精品久久久久久五月尺| 欧美俄罗斯性视频| 久久国产精品久久久久| 国产精品一区二区三区毛片淫片| 欧美日韩中国免费专区在线看| 国产精品日韩欧美综合| 精品久久香蕉国产线看观看亚洲| 免费91在线视频| 亚洲精品第一页| 91黄色8090| 亚洲精品美女久久| 97视频在线观看视频免费视频| 一区二区在线视频播放| 欧亚精品在线观看| 福利一区视频在线观看| 国产欧美一区二区三区久久人妖| 性日韩欧美在线视频| 久久国产色av| 在线看日韩欧美| 欧美激情一二区| 97碰碰碰免费色视频| 九九热这里只有精品6| 久久在精品线影院精品国产| 欧美黄色成人网| 91情侣偷在线精品国产| 欧美日韩亚洲一区二| 国内伊人久久久久久网站视频| 国产啪精品视频网站| 色天天综合狠狠色| 成人精品一区二区三区| 亚洲人成网站在线播| 亚洲天堂免费观看| 一区二区三区动漫| 中文字幕亚洲欧美一区二区三区| 久久天天躁狠狠躁夜夜av| 欧美一级片久久久久久久| 欧美巨猛xxxx猛交黑人97人| 日韩精品在线免费观看视频| 欧美理论片在线观看| 97人人爽人人喊人人模波多| 亚洲国产毛片完整版| 一区二区三区视频免费| 正在播放国产一区| 亚洲精品视频在线观看视频| 国产视频亚洲精品| 国产主播欧美精品| 日韩av大片免费看| 亚洲精品v欧美精品v日韩精品| 超碰日本道色综合久久综合| 热re91久久精品国99热蜜臀| 日产日韩在线亚洲欧美| 中文字幕精品一区久久久久| 久久精品国产91精品亚洲| 91免费国产网站| 亚洲性线免费观看视频成熟| 午夜精品在线观看| 在线观看国产精品91| 欧美中文在线观看国产| 日韩av资源在线播放| 成人国产亚洲精品a区天堂华泰| 久久亚洲电影天堂| 综合网日日天干夜夜久久| 欧美日韩精品中文字幕| 久久久精品免费| 久热爱精品视频线路一| 欧美插天视频在线播放| 一本色道久久88综合亚洲精品ⅰ| 91在线色戒在线| 国产亚洲一区二区精品| 91av在线国产| 国产免费一区二区三区在线能观看| 久久久国产精彩视频美女艺术照福利| 欧美夫妻性视频| 中国日韩欧美久久久久久久久| 久久久久久久999精品视频| 日韩精品免费综合视频在线播放| 亚洲欧美日韩高清| 久久久视频精品| 欧美激情欧美狂野欧美精品| 国产欧美日韩视频| 久久国产精品视频| 亚洲午夜未删减在线观看| 91精品国产91久久久久| 日韩在线视频中文字幕| 国产精品影片在线观看| 91av在线播放| 国产精品18久久久久久首页狼| 日韩极品精品视频免费观看| 久久露脸国产精品| 国产激情久久久久| 欧美亚洲第一页| 日韩精品在线观看一区二区| 色综合91久久精品中文字幕| 日韩欧美成人区| 欧美一区二三区| 亚洲国产高清福利视频| 九九综合九九综合| 日本不卡视频在线播放| 久久久久www| 午夜精品国产精品大乳美女| 69影院欧美专区视频| 日韩电影中文字幕在线观看| 国产a∨精品一区二区三区不卡| 国产97在线观看| 久久亚洲精品小早川怜子66| 欧美在线观看视频| 理论片在线不卡免费观看| 国产精品狠色婷| 国产精品高潮视频| 亚洲精品国产免费| 欧美老肥婆性猛交视频| 日韩在线免费高清视频| 不用播放器成人网| 国产中文欧美精品| 国产日韩一区在线| 日韩在线国产精品| 久久精品99无色码中文字幕| 亚洲天堂男人天堂女人天堂| 久热精品视频在线观看| 亚洲精品成人网| 亚洲精品理论电影| 亚洲色图18p| 成人性生交大片免费观看嘿嘿视频| 亚洲无限av看| 亚洲精品日韩激情在线电影|