亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

一、計算動畫開始結束點位置

方法:

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

1) 動畫開始位置fromCenter

復制代碼 代碼如下:

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

2)動畫結束位置endCenter

復制代碼 代碼如下:

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)先設置控制點距最高點(fromCenter或endCenter)的水平距離controlPointEY,本篇默認controlPointEY = 100,即圖1中點controlPointC到點A的距離。

2)計算控制點相對于點A的距離controlPointEX,即controlPoint1到A距離或controlPoint2到A距離,本篇設置為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);

三、復制動畫的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)旋轉起來

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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • iOS 生成圖片驗證碼繪制實例代碼

    iOS 生成圖片驗證碼繪制實例代碼

    本篇文章主要介紹了iOS 圖片驗證碼繪制實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Flutter之TabBarView組件項目實戰(zhàn)示例

    Flutter之TabBarView組件項目實戰(zhàn)示例

    這篇文章主要為大家介紹了Flutter之TabBarView組件項目實戰(zhàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • iOS中Label實現(xiàn)顯示不同顏色與字體的方法

    iOS中Label實現(xiàn)顯示不同顏色與字體的方法

    這篇文章主要給大家介紹了關于在iOS中Label實現(xiàn)顯示不同顏色與字體的相關資料,文中分別介紹了利用range或者文字兩種實現(xiàn)的方法,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-11-11
  • iOS 封裝導航欄及返回,獲取控件所在控制器的實例

    iOS 封裝導航欄及返回,獲取控件所在控制器的實例

    下面小編就為大家分享一篇iOS 封裝導航欄及返回,獲取控件所在控制器的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • iOS開發(fā)使用UITableView制作N級下拉菜單的示例

    iOS開發(fā)使用UITableView制作N級下拉菜單的示例

    這篇文章主要介紹了iOS開發(fā)使用UITableView制作N級下拉菜單的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • IOS多線程實現(xiàn)多圖片下載(二)

    IOS多線程實現(xiàn)多圖片下載(二)

    這篇文章主要介紹了IOS多線程實現(xiàn)多圖片下載(二)的相關資料,需要的朋友可以參考下
    2016-03-03
  • iOS小技能之字典轉模及對象相等性示例詳解

    iOS小技能之字典轉模及對象相等性示例詳解

    這篇文章主要為大家介紹了iOS小技能之字典轉模及對象相等性示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • iOS仿網(wǎng)易新聞滾動導航條效果

    iOS仿網(wǎng)易新聞滾動導航條效果

    這篇文章主要為大家詳細介紹了iOS仿網(wǎng)易新聞滾動導航條效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 深入解析iOS應用開發(fā)中九宮格視圖布局的相關計算方法

    深入解析iOS應用開發(fā)中九宮格視圖布局的相關計算方法

    這篇文章主要介紹了iOS應用開發(fā)中九宮格視圖布局的計算方法,包括item尺寸和坐標等一系列影像布局的數(shù)值相關計算的講解,需要的朋友可以參考下
    2016-03-03
  • IOS本地日志記錄解決方案

    IOS本地日志記錄解決方案

    我們在項目中日志記錄這塊也算是比較重要的,有時候用戶程序出什么問題,光靠服務器的日志還不能準確的找到問題。本文詳細介紹了IOS本地日志記錄解決方案。下面跟著小編一起來看下吧
    2017-03-03

最新評論