我们登录或者注册的时候一般会输入密码和账号,当用户输入为空需要重新输入的时候,需要给用户一个提示.通常我们会用到UIAlerView,用提示框太俗太老套了,这里我们用一个抖动效果来提示用户重新输入......
请看以下代码:(为了方便广大程序猿们复制繁琐的代码, 请看文章最底部)
- (void)shake
{
CAKeyframeAnimation *keyAn = [CAKeyframeAnimation animationWithKeyPath:@"position"];
[keyAn setDuration:.3f];
NSArray *array = [[NSArray alloc] initWithObjects:
[NSValue valueWithCGPoint:CGPointMake(self.field.center.x, self.field.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.field.center.x-5, self.field.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.field.center.x+5, self.field.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.field.center.x, self.field.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.field.center.x-5, self.field.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.field.center.x+5, self.field.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.field.center.x, self.field.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.field.center.x-5, self.field.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.field.center.x+5, self.field.center.y)],
[NSValue valueWithCGPoint:CGPointMake(self.field.center.x, self.field.center.y)],
nil];
[keyAn setValues:array];
// 添加动画
[self.field.layer addAnimation:keyAn forKey:@"text"];
}