zoukankan      html  css  js  c++  java
  • iOS view中震动类似实现

    #import <Foundation/Foundation.h>
    
    @interface AnimationUtils : NSObject
    
    + (void)shake:(UIView *)view;
    
    @end
    
    //
    //  AnimationUtils.m
    //  TPL-AUTO-CLAIM-iPad
    //
    //  Created by Byron on 12-11-29.
    //  Copyright (c) 2012年 cisetech. All rights reserved.
    //
    
    #import "AnimationUtils.h"
    
    @implementation AnimationUtils
    
    //震动效果
    + (void)shake:(UIView *)view
    {
        CGRect frame = view.frame;
        CAKeyframeAnimation *shakeAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
        
        CGMutablePathRef shakePath = CGPathCreateMutable();
        CGPathMoveToPoint(shakePath, NULL, frame.origin.x+frame.size.width/2, frame.origin.y+frame.size.height/2);
        int index;
        for (index = 3; index >=0; --index)
        {
            CGPathAddLineToPoint(shakePath, NULL, frame.origin.x+frame.size.width/2 - frame.size.width * 0.02f * index, frame.origin.y+frame.size.height/2);
            CGPathAddLineToPoint(shakePath, NULL, frame.origin.x+frame.size.width/2 + frame.size.width * 0.02f * index, frame.origin.y+frame.size.height/2);
        }
        CGPathCloseSubpath(shakePath);
    
        shakeAnimation.path = shakePath;
        shakeAnimation.duration = 0.5f;
        shakeAnimation.removedOnCompletion = YES;
        
        [view.layer addAnimation:shakeAnimation forKey:nil];
        CFRelease(shakePath);
    }
    
    @end
    
    直接调用就可以了

  • 相关阅读:
    21 viewPager--- hzScrollView ----llContainer
    21 ViewPager RadioGroup
    CLEAR REFRESH FEEE的区别
    在ALV中更新数据库表
    cl_gui_cfw=>flush
    cl_gui_cfw=>dispatch
    数据库表-DD01L DD02L DD03L-保存数据表和域的消息
    SAP 锁机制
    ABAP 搜索帮助
    SAP Basis常用事务代码
  • 原文地址:https://www.cnblogs.com/zhangsongbai/p/3102591.html
Copyright © 2011-2022 走看看