標籤:
直接上代碼:
//// ViewController.m// 密碼錯誤--抖動動畫//// Created by 劉志武 on 16/8/6.// Copyright © 2016年 zhiwuLiu. All rights reserved.//#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(50, 300, 200, 30)]; label.backgroundColor = [UIColor purpleColor]; label.tag = 1000; [self.view addSubview:label]; }-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ UILabel *label = [self.view viewWithTag:1000]; [self shakeAnimationForView:label]; }#pragma mark 抖動動畫- (void)shakeAnimationForView:(UIView *) view{ // 擷取到當前的View CALayer *viewLayer = view.layer; // 擷取當前View的位置 CGPoint position = viewLayer.position; // 移動的兩個終點位置 CGPoint x = CGPointMake(position.x + 5, position.y); CGPoint y = CGPointMake(position.x - 5, position.y); // 設定動畫 CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"]; // 設定運動形式 [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; // 設定開始位置 [animation setFromValue:[NSValue valueWithCGPoint:x]]; // 設定結束位置 [animation setToValue:[NSValue valueWithCGPoint:y]]; // 設定自動反轉 [animation setAutoreverses:YES]; // 設定時間 [animation setDuration:.06]; // 設定次數 [animation setRepeatCount:3]; // 添加上動畫 [viewLayer addAnimation:animation forKey:nil]; }- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}@end
iOS--輸入密碼錯誤的時候,抖動