最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS添加購物車動畫效果示例

 更新時間:2017年02月27日 10:29:41   作者:Mr_Wendao  
本篇文章主要介紹了iOS 購物車動畫效果示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一、計算動畫開始結(jié)束點位置

方法:

- (CGPoint)convertPoint:(CGPoint)point toView:(nullable UIView *)view;

1) 動畫開始位置fromCenter

復(fù)制代碼 代碼如下:

CGPoint fromCenter =  [animationView convertPoint:CGPointMake(animationView.frame.size.width * 0.5f, animationView.frame.size.height * 0.5f) toView:keyWindow];

2)動畫結(jié)束位置endCenter

復(fù)制代碼 代碼如下:

CGPoint endCenter = [endView convertPoint:CGPointMake(endView.frame.size.width * 0.5f, endView.frame.size.height * 0.5f) toView:keyWindow];

二、計算貝塞爾曲線(拋物線)的兩個控制點

  • controlPoint1是控制點1
  • controlPoint2是控制點2
  • A是controlPoint1和controlPoint2的中點
  • controlPointC是fromCenter和B的中點

1)先設(shè)置控制點距最高點(fromCenter或endCenter)的水平距離controlPointEY,本篇默認(rèn)controlPointEY = 100,即圖1中點controlPointC到點A的距離。

2)計算控制點相對于點A的距離controlPointEX,即controlPoint1到A距離或controlPoint2到A距離,本篇設(shè)置為fromCenter.x到endCenter.x的1/4,即controlPointEX = (endCenter.x - fromCenter.x) * 0.25f;

3)計算兩個控制點

CGPoint controlPoint1 = CGPointMake(controlPointCX - controlPointEX, controlPointCY - controlPointEY);
CGPoint controlPoint2 = CGPointMake(controlPointCX + controlPointEX, controlPointCY - controlPointEY);

三、復(fù)制動畫的layer

NSString *str = ((UIButton *)animationView).titleLabel.text;
_animationLayer = [CATextLayer layer];
_animationLayer.bounds = animationView.bounds;
_animationLayer.position = fromCenter;
_animationLayer.alignmentMode = kCAAlignmentCenter;//文字對齊方式
_animationLayer.wrapped = YES;
_animationLayer.contentsScale = [UIScreen mainScreen].scale;
_animationLayer.string = str;
_animationLayer.backgroundColor = [UIColor redColor].CGColor;
[keyWindow.layer addSublayer:_animationLayer];

四、動畫組合

1)運動軌跡(拋物線)

UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:fromCenter];
[path addCurveToPoint:endCenter controlPoint1:controlPoint1 controlPoint2:controlPoint2];
CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
pathAnimation.path = path.CGPath;

2)旋轉(zhuǎn)起來

CABasicAnimation *rotateAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
rotateAnimation.removedOnCompletion = YES;
rotateAnimation.fromValue = [NSNumber numberWithFloat:0];
rotateAnimation.toValue = [NSNumber numberWithFloat:10 * M_PI];
rotateAnimation.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]

3)縮放動畫

CABasicAnimation *scaleAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
scaleAnimation.removedOnCompletion = NO;
scaleAnimation.fromValue = [NSNumber numberWithFloat:1.0];
scaleAnimation.toValue = [NSNumber numberWithFloat:0.2];

4)透明度動畫

CABasicAnimation *alphaAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
alphaAnimation.removedOnCompletion = NO;
alphaAnimation.fromValue = [NSNumber numberWithFloat:1.0];
alphaAnimation.toValue = [NSNumber numberWithFloat:0.1];

5)動畫組合

CAAnimationGroup *groups = [CAAnimationGroup animation];
groups.animations = @[pathAnimation,rotateAnimation, scaleAnimation, alphaAnimation];
groups.duration = kShoppingCartDuration;
groups.removedOnCompletion=NO;
groups.fillMode=kCAFillModeForwards;
groups.delegate = self;
[_animationLayer addAnimation:groups forKey:@"group"];

動畫效果:

下載地址:ShoppingCartAnimation_jb51.rar

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何使用IOS自動化測試工具UIAutomation

    如何使用IOS自動化測試工具UIAutomation

    這篇文章主要介紹了UIAutomation使用實例、應(yīng)用技巧、基本知識點總結(jié)和需要注意事項,具有一定的參考價值
    2021-04-04
  • iOS開發(fā)使用GDataXML框架解析網(wǎng)絡(luò)數(shù)據(jù)

    iOS開發(fā)使用GDataXML框架解析網(wǎng)絡(luò)數(shù)據(jù)

    GDataXML是Google開發(fā)的一個XML解析庫,輕便,特點使用非常簡單,支持XPath。今天把前兩天弄的IOS XML解析記錄下來,也供大家參考。
    2016-02-02
  • iOS實現(xiàn)淘寶上拉進入詳情頁交互效果

    iOS實現(xiàn)淘寶上拉進入詳情頁交互效果

    最近遇到一個項目,項目中某個新需求的交互要求仿照淘寶上拉從下往上彈出寶貝詳情。所以死打開淘寶APP仔細看了看,然后自己寫了寫,現(xiàn)在感覺效果差不多了,記錄一下分享給大家,方法自己和大家需要的時候查看借鑒,感興趣的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2016-11-11
  • iOS高仿微信表情輸入功能代碼分享

    iOS高仿微信表情輸入功能代碼分享

    最近項目需求,要實現(xiàn)一個類似微信的的表情輸入功能,今天小編抽空給大家分享iOS高仿微信表情輸入功能代碼,非常不錯,感興趣的朋友參考下吧
    2016-11-11
  • iOS省市二級聯(lián)動的數(shù)據(jù)組織PHP版

    iOS省市二級聯(lián)動的數(shù)據(jù)組織PHP版

    這篇文章主要為大家詳細介紹了iOS開發(fā)之"省市"二級聯(lián)動的數(shù)據(jù)組織PHP版,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • iOS runtime forwardInvocation詳解及整理

    iOS runtime forwardInvocation詳解及整理

    這篇文章主要介紹了 iOS runtime forwardInvocation詳解及整理的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • iOS 實現(xiàn)多代理的方法及實例代碼

    iOS 實現(xiàn)多代理的方法及實例代碼

    這篇文章主要介紹了iOS 實現(xiàn)多代理的方法及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • iOS Runtime詳解(新手也看得懂)

    iOS Runtime詳解(新手也看得懂)

    這篇文章主要給大家介紹了關(guān)于iOS Runtime的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • iOS 增加右側(cè)按鈕功能實例代碼

    iOS 增加右側(cè)按鈕功能實例代碼

    這篇文章主要介紹了iOS 增加右側(cè)按鈕功能實例代碼,需要的朋友可以參考下
    2017-07-07
  • iOS動畫-定時對UIView進行翻轉(zhuǎn)和抖動的方法

    iOS動畫-定時對UIView進行翻轉(zhuǎn)和抖動的方法

    下面小編就為大家?guī)硪黄猧OS動畫-定時對UIView進行翻轉(zhuǎn)和抖動的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04

最新評論

麻江县| 茂名市| 日照市| 香河县| 衢州市| 新郑市| 临沭县| 黄石市| 临邑县| 东山县| 金乡县| 彭阳县| 台中市| 毕节市| 德兴市| 武宣县| 东乡县| 德惠市| 张家口市| 菏泽市| 虹口区| 朔州市| 宁波市| 张北县| 增城市| 吴江市| 台中县| 永定县| 轮台县| 临沂市| 黎平县| 吉安县| 汽车| 巩义市| 格尔木市| 湛江市| 萨嘎县| 额济纳旗| 开平市| 皮山县| 依安县|