天天看點

【Objective-C】IOS 控件動畫操作

IOS 控件動畫操作

-(IBAction)move:(UIButton *)sender {

    //擷取原始frame
    CGPoint originCenter = self.btnAcm.center;
    
    //修改判斷
    switch (sender.tag) {
        case 0:
            //下
            originCenter.y +=10;
            break;
        case 1:
            //上
            originCenter.y -=10;
            break;
        default:
            break;
    }
    
    
    //指派 沒有動畫的方式
//    self.btnAcm.frame = originFrame;
    
    
    //開啟一個動畫
    [UIView beginAnimations:nil context:nil];
    
    //設定動畫處理時間
    [UIView setAnimationDuration:2];
    
    //這裡設定執行動畫的代碼
    self.btnAcm.center = originCenter;
    
    
    //送出動畫
    [UIView commitAnimations];
    
}      
- (IBAction)bigAndSmall:(UIButton *)sender {
    
    NSLog(@"目前id sender.tag:%d", sender.tag);

    //擷取原始frame
    CGRect originFrame = self.btnAcm.frame;
    
    //修改判斷
    switch (sender.tag) {
        case 0:
            //放大
            originFrame.size.width +=10;
            originFrame.size.height +=10;
            break;
        case 1:
            //縮小
            originFrame.size.width -=10;
            originFrame.size.height -=10;
            break;
        default:
            break;
    }
    
    
    
    
    
    //指派 沒有動畫
//    self.btnAcm.frame = originFrame;
    
    //開啟一個動畫
//    [UIView beginAnimations:nil context:nil];
//
//    //設定動畫處理時間
//    [UIView setAnimationDuration:1];
//
//    //這裡設定執行動畫的代碼
//    self.btnAcm.frame = originFrame;
//
//
//    //送出動畫
//    [UIView commitAnimations];
    
    [UIView animateWithDuration:2 animations:^{
        self.btnAcm.frame = originFrame;
    }];

}