iOS動(dòng)畫(huà)練習(xí)

//
// ViewController.m
// 動(dòng)畫(huà)練習(xí)
//
// Created by dou on 16/6/15.
// Copyright ? 2016年 dou. All rights reserved.
#import "ViewController.h"
#define Width [UIScreen mainScreen].bounds.size.width
#define Height [UIScreen mainScreen].bounds.size.height
@interface ViewController ()<UITabBarControllerDelegate>
@property (strong, nonatomic) IBOutlet UITabBarItem *tabbar;
@property (strong, nonatomic) IBOutlet UIView *topView;
@property (nonatomic,strong) UIView *midView;

@property (nonatomic,strong) UIView *desView_01;
@property (nonatomic,strong) UIButton *btn_01;

@property (nonatomic,strong) UIView *desView_02;
@property (nonatomic,strong) UIButton *btn_02;
@property (nonatomic,strong) UIView *attactView;

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];

[self confingureanimationitems];
[self.view addSubview:self.midView];
[self.view addSubview:self.btn_01];
[self.view addSubview:self.desView_01];
[self.view addSubview:self.btn_02];
[self.view addSubview:self.desView_02];

self.tabBarController.delegate = self;

}

-(void)addNotification
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(attacted:) name:@"fire" object:nil];
}

-(void)attacted:(NSNotification *)notification
{
UIView *view = notification.object;
CGFloat y = view.frame.origin.y + 25;
if (y >= 400) {
    CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
    animation.values = @[[NSValue valueWithCGPoint:CGPointMake(Width - 150, Height - 350)],[NSValue valueWithCGPoint:CGPointMake(Width - 100, Height - 350)],[NSValue valueWithCGPoint:CGPointMake(Width , Height - 330)],[NSValue valueWithCGPoint:CGPointMake(Width, Height - 260)],[NSValue valueWithCGPoint:CGPointMake(Width , Height - 180)],[NSValue valueWithCGPoint:CGPointMake(Width , Height - 100)],[NSValue valueWithCGPoint:CGPointMake(Width, Height)],[NSValue valueWithCGPoint:CGPointMake(Width, Height+60)]];
    animation.duration = 4;
    animation.repeatCount = 1;
    [self.btn_01.layer addAnimation:animation forKey:nil];
    
    
    CAKeyframeAnimation *animation2 = [CAKeyframeAnimation animationWithKeyPath:@"position"];
    animation2.values = @[[NSValue valueWithCGPoint:CGPointMake(75, Height-365)],[NSValue valueWithCGPoint:CGPointMake(75, Height - 300)],[NSValue valueWithCGPoint:CGPointMake(75 , Height - 250)],[NSValue valueWithCGPoint:CGPointMake(75, Height - 200)],[NSValue valueWithCGPoint:CGPointMake(75 , Height - 120)],[NSValue valueWithCGPoint:CGPointMake(75 , Height - 100)],[NSValue valueWithCGPoint:CGPointMake(75, Height)],[NSValue valueWithCGPoint:CGPointMake(75, Height+60)]];
    animation2.duration = 4;
    animation2.repeatCount = 1;
    [self.btn_02.layer addAnimation:animation2 forKey:nil];
    
    [UIView animateWithDuration:3 animations:^{
        self.midView.frame = CGRectMake((Width-20)*0.5, Height-50, 20, 600);
    } completion:nil];
    [UIView animateWithDuration:2 delay:1 options:(UIViewAnimationOptionTransitionNone) animations:^{
        self.desView_01.frame = CGRectMake(Width*0.5, Height-200, 0, 10);
    } completion:nil];
    [UIView animateWithDuration:2 delay:2 options:(UIViewAnimationOptionTransitionNone) animations:^{
        self.desView_02.frame = CGRectMake(Width*0.5, Height-350, 0, 10);
    } completion:nil];
    
    [[NSNotificationCenter defaultCenter] removeObserver:self name:@"fire" object:nil];
    self.btn_01.frame = CGRectMake(Width, Height+60, 100, 100);
    self.btn_02.frame = CGRectMake(75, Height+60, 100, 100);
    self.attactView.frame = CGRectMake(Width*0.65, 20, 50, 50);
}
}
-(void)confingureanimationitems{
    
self.attactView = [[UIView alloc]initWithFrame:CGRectMake(Width*0.65, 20, 50, 50)];
self.attactView.backgroundColor = [UIColor blackColor];
self.attactView.layer.cornerRadius = 25;
[self.view addSubview:self.attactView];




self.btn_01 = [UIButton buttonWithType:(UIButtonTypeSystem)];
self.btn_01.frame = CGRectMake(Width -100, Height-200, 0, 0);
self.btn_01.layer.borderColor = [UIColor colorWithRed:0.3 green:0.4 blue:1 alpha:1].CGColor;
self.btn_01.layer.borderWidth = 2;
self.btn_01.layer.cornerRadius = 25;
self.desView_01 = [[UIView alloc]initWithFrame:CGRectMake(Width*0.5, Height-200, 1, 10)];
self.desView_01.backgroundColor = [UIColor colorWithRed:0.3 green:0.4 blue:1 alpha:1];

self.btn_02 = [UIButton buttonWithType:(UIButtonTypeSystem)];
self.btn_02.frame = CGRectMake(150, Height-350, 0, 0);

self.btn_02.layer.borderColor = [UIColor colorWithRed:0.3 green:0.4 blue:1 alpha:1].CGColor;
self.btn_02.layer.borderWidth = 2;
self.btn_02.layer.cornerRadius = 25;
self.desView_02 = [[UIView alloc]initWithFrame:CGRectMake(Width*0.5, Height-350, 1, 10)];
self.desView_02.backgroundColor = [UIColor colorWithRed:0.3 green:0.4 blue:1 alpha:1];



self.midView = [[UIView alloc]initWithFrame:CGRectMake((Width-20)*0.5, Height-50, 20, 600)];
self.midView.backgroundColor = [UIColor colorWithRed:0.3 green:0.4 blue:1 alpha:1];

}
- (IBAction)button:(id)sender {

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:3];
[UIView setAnimationRepeatCount:1];
self.attactView.frame = CGRectMake(Width*0.65, 480, 50, 50);
[UIView commitAnimations];
[[NSNotificationCenter defaultCenter] postNotificationName:@"fire" object:self.attactView];
NSLog(@"----%@--%f",self.attactView,self.attactView.frame.origin.y);
}

-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
if ([viewController.tabBarItem.title isEqualToString:@"雷達(dá)"])
{
    [self addNotification];
    NSLog(@"--------");
    [UIView animateWithDuration:3 animations:^{
        self.midView.frame = CGRectMake((Width-20)*0.5, 150, 20, 600);
        self.midView.layer.cornerRadius = 25;
    } completion:nil];
    
    [UIView animateWithDuration:2 delay:1 options:(UIViewAnimationOptionTransitionNone) animations:^{
        self.desView_01.frame = CGRectMake(Width*0.5, Height-200, Width*0.5-50, 10);
        self.desView_01.layer.cornerRadius = 5;
        
    } completion:^(BOOL finished) {
        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:1];
        [UIView setAnimationRepeatCount:1];
        self.btn_01.frame = CGRectMake(Width -150, Height-300, 100, 100);
        [self.btn_01 setTitle:@"點(diǎn)我" forState:(UIControlStateNormal)];
        self.btn_01.layer.borderColor = [UIColor colorWithRed:0.3 green:0.4 blue:1 alpha:1].CGColor;
        self.btn_01.layer.borderWidth = 2;
        self.btn_01.layer.cornerRadius = 50;
        [UIView commitAnimations];
    }];
    
    [UIView animateWithDuration:2 delay:2 options:(UIViewAnimationOptionTransitionNone) animations:^{
        self.desView_02.frame = CGRectMake(50, Height-350, Width*0.5-50, 10);
        self.desView_02.layer.cornerRadius = 10;
        
    } completion:^(BOOL finished) {
        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:1];
        [UIView setAnimationRepeatCount:1];
        self.btn_02.frame = CGRectMake(50, Height-340, 100, 100);
        [self.btn_02 setTitle:@"點(diǎn)我" forState:(UIControlStateNormal)];
        self.btn_02.layer.borderColor = [UIColor colorWithRed:0.3 green:0.4 blue:1 alpha:1].CGColor;
        self.btn_02.layer.borderWidth = 2;
        self.btn_02.layer.cornerRadius = 50;
        [UIView commitAnimations];
    }];
    
}else{
    
}

}
@end
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市昏翰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌朋魔,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卿操,死亡現(xiàn)場(chǎng)離奇詭異警检,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)害淤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)扇雕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人窥摄,你說(shuō)我怎么就攤上這事镶奉。” “怎么了崭放?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵哨苛,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我币砂,道長(zhǎng)建峭,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任决摧,我火速辦了婚禮亿蒸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘掌桩。我一直安慰自己祝懂,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布拘鞋。 她就那樣靜靜地躺著,像睡著了一般矢门。 火紅的嫁衣襯著肌膚如雪盆色。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,071評(píng)論 1 285
  • 那天祟剔,我揣著相機(jī)與錄音隔躲,去河邊找鬼。 笑死物延,一個(gè)胖子當(dāng)著我的面吹牛宣旱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播叛薯,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼浑吟,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼笙纤!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起组力,我...
    開(kāi)封第一講書(shū)人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤省容,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后燎字,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體腥椒,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年候衍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了笼蛛。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蛉鹿,死狀恐怖滨砍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情榨为,我是刑警寧澤惨好,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站随闺,受9級(jí)特大地震影響日川,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜矩乐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一龄句、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧散罕,春花似錦分歇、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至误甚,卻和暖如春缚甩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背窑邦。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工擅威, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人冈钦。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓郊丛,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子厉熟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 在iOS中隨處都可以看到絢麗的動(dòng)畫(huà)效果导盅,實(shí)現(xiàn)這些動(dòng)畫(huà)的過(guò)程并不復(fù)雜,今天將帶大家一窺ios動(dòng)畫(huà)全貌庆猫。在這里你可以看...
    每天刷兩次牙閱讀 8,465評(píng)論 6 30
  • 在iOS中隨處都可以看到絢麗的動(dòng)畫(huà)效果认轨,實(shí)現(xiàn)這些動(dòng)畫(huà)的過(guò)程并不復(fù)雜,今天將帶大家一窺iOS動(dòng)畫(huà)全貌月培。在這里你可以看...
    F麥子閱讀 5,094評(píng)論 5 13
  • 原文鏈接http://www.cnblogs.com/kenshincui/p/4186022.html 音頻在i...
    Hyman0819閱讀 21,669評(píng)論 4 74
  • 是孽緣嗎灭袁。 付出也會(huì)被你拋棄嗎猬错。 你也不再要了嗎。 1茸歧,2倦炒,3 快畫(huà)滿(mǎn)一個(gè)正字了。 放心软瞎,別害怕逢唤。 我不會(huì)來(lái)打擾你...
    ce98fac88ed6閱讀 207評(píng)論 0 0
  • 有時(shí)候在想鳖藕,每個(gè)人就是短短幾十年的時(shí)間,為什么不能活的隨性一點(diǎn)呢只锭? 有的人從出身就已經(jīng)被規(guī)劃好以后20年的生活著恩,而...
    楊sunshine閱讀 1,222評(píng)論 0 0