zoukankan      html  css  js  c++  java
  • 文本 抖动效果

    方法1

    -(void)earthquake:(UIView*)itemView
    {
        CGFloat t =2.0;
    
        CGAffineTransform leftQuake  =CGAffineTransformTranslate(CGAffineTransformIdentity, t,-t);
        CGAffineTransform rightQuake =CGAffineTransformTranslate(CGAffineTransformIdentity,-t, t);
    
        itemView.transform = leftQuake;  // starting point
    
        [UIView beginAnimations:@"earthquake" context:itemView];
        [UIView setAnimationRepeatAutoreverses:YES];// important
        [UIView setAnimationRepeatCount:5];
        [UIView setAnimationDuration:0.07];
        [UIView setAnimationDelegate:self];
        [UIView setAnimationDidStopSelector:@selector(earthquakeEnded:finished:context:)];
    
        itemView.transform = rightQuake;// end here & auto-reverse
    
        [UIView commitAnimations];
    }
    
    -(void)earthquakeEnded:(NSString*)animationID finished:(NSNumber*)finished context:(void*)context 
    {
        if([finished boolValue]) 
        {
            UIView* item =(UIView*)context;
            item.transform =CGAffineTransformIdentity;
        }

    }




    方法2

    -(void)shakeView:(UIView*)viewToShake
    {
        CGFloat t =2.0;
        CGAffineTransform translateRight  =CGAffineTransformTranslate(CGAffineTransformIdentity, t,0.0);
        CGAffineTransform translateLeft =CGAffineTransformTranslate(CGAffineTransformIdentity,-t,0.0);
    
        viewToShake.transform = translateLeft;
    
        [UIView animateWithDuration:0.07 delay:0.0 options:UIViewAnimationOptionAutoreverse|UIViewAnimationOptionRepeat animations:^{
            [UIView setAnimationRepeatCount:2.0];
            viewToShake.transform = translateRight;
        } completion:^(BOOL finished){
            if(finished){
                [UIView animateWithDuration:0.05 delay:0.0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{
                    viewToShake.transform =CGAffineTransformIdentity;
                } completion:NULL];
            }
        }];

    }

     

  • 相关阅读:
    自定义标签的作用
    自定义标签处理器类的生命周期
    自定义标签的执行过程
    自定义标签入门案例
    JSTL核心标签库详解
    JSTL标签(核心标准库)
    动作标签
    jsp标签
    EL表达式
    JSP学习案例--,竞猜游戏
  • 原文地址:https://www.cnblogs.com/daxueshan/p/6077407.html
Copyright © 2011-2022 走看看