IOS動畫的使用方法總結-下拉框的簡單實現
阿新 • • 發佈:2019-01-08
第一種
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的值是負數,下拉框收縮起來。時間有限不多說。程式碼附上