1. 程式人生 > >IOS動畫的使用方法總結-下拉框的簡單實現

IOS動畫的使用方法總結-下拉框的簡單實現

第一種

 CATransition *transition = [CATransition animation];
        transition.duration = 0.4f;//時間
        transition.type = kCATransitionPush;//動畫的效果
        transition.subtype = kCATransitionFromBottom;//動畫的目的地
        [self.view addSubview:_backGroundView];//這是是自己要做的事情一般是新增一個View 這個需要自己寫
        [self.view.layer addAnimation:transition forKey:@"animation"];

第二種
[UIView beginAnimations:@"animation" context:nil];
        [UIView setAnimationDuration:2.0f];//時間
        [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];//效果
        [UIView setAnimationTransition:UIViewAnimationTransitionNone forView:self.view cache:YES];
        [self.view addSubview:_backGroundView];//要做的事情
        [UIView commitAnimations];

第三種 
            [UIView animateWithDuration:1.0 animations:^{
            _backGroundView.frame = CGRectMake(0, originY, _screenSize.width, 0);//要達到的狀態值
              }completion:^(BOOL finished){
                [_backGroundView removeFromSuperview];
            }];

總結一下,第一第二種頁面切換用的多,第三種一般是對某個頁面狀態改變。

4月14日補充 第三種方法存在錯誤。裡面的標籤和頁面不會統一,改進方法是改變的時候改變Y座標的大小不改變寬度。

            _backGroundView.frame = CGRectMake(0, 一個負數的Y, _screenSize.width, 0);//要達到的狀態值

Y的值是負數,下拉框收縮起來。時間有限不多說。程式碼附上