iOS动画——文字晃动

时间:2024-11-01 18:04:08

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

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

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 = ; kfa.values = @[@(-s),@(),@(s),@(),@(-s),@(),@(s),@()]; //时长
kfa.duration = 0.3f; //重复
kfa.repeatCount = ; //移除
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];