iOS动画——文字晃动

比如密码错误提示,需要文字左右晃动几次,以起到警示的作用。

为了调用使用方便,做一个分类。代码如下:

 

.h文件

#import <QuartzCore/QuartzCore.h>

@interface CALayer (Anim)

/*
 *  摇动动画
 */
-(void)shake;

@end

.m文件

 

#import "CALayer+Anim.h"

@implementation CALayer (Anim)


/*
 *  摇动
 */
-(void)shake{
    
    CAKeyframeAnimation *kfa = [CAKeyframeAnimation animationWithKeyPath:@"transform.translation.x"];
    
    CGFloat s = 5;
    
    kfa.values = @[@(-s),@(0),@(s),@(0),@(-s),@(0),@(s),@(0)];
    
    //时长
    kfa.duration = 0.3f;
    
    //重复
    kfa.repeatCount = 2;
    
    //移除
    kfa.removedOnCompletion = YES;
    
    [self addAnimation:kfa forKey:@"shake"];
}

@end

 

 

 

 

使用方法,非常简单,导入这个头文件,如下调用:

   UILabel * wrongTip   = [[UILabel alloc]initWithFrame:CGRectMake(20, 130*ScreenHeightRate+heightBit+heightBit2, self.messageView.width-40, 15)];
    wrongTip.textColor     = [@"ff0000" hexColor];
    wrongTip.text          = @"券商密码错误,请重新输入";
    wrongTip.font          = [UIFont HeitiSCWithFontSize:12.f];
    wrongTip.textAlignment = NSTextAlignmentLeft;
    [self.messageView addSubview:wrongTip];
    
    // shake 动画
    [wrongTip.layer shake];

 

posted @ 2016-09-05 10:34  刘成利的博客  阅读(1863)  评论(0编辑  收藏  举报