iOS 动画效果弹出提示视图

洪鸿博
2023-12-01

//弹出提示框,增加了动画效果,animationDirection参数为nil的时候,默认动画方向是从下至上弹出,如果要改变弹出方向,只要改变animationDirection即可

-(void)showAlertContentViewOnKeyWindow:(UIView*)alertView animationDirection:(NSString *)animationDirection{

    UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;

    

   CGRect bounds = CGRectMake(0,0, WIDTH, HEIGHT);

   self.grayView = [[UIView alloc] initWithFrame:bounds];

    [keyWindow addSubview:self.grayView];

    

    UIView *converView = [[UIView alloc] initWithFrame:bounds];

    converView.backgroundColor = [UIColor blackColor];

    converView.alpha =0.4;

    [self.grayView addSubview:converView];

    

    //用于设置弹出视图的动画效果

    CATransition *animation = [CATransition animation];

    animation.duration =0.3;

    animation.timingFunction =UIViewAnimationCurveEaseInOut;

    animation.fillMode =kCAFillModeForwards;

    animation.type =kCATransitionPush;//还有这几种动画:kCATransitionPushkCATransitionRevealkCATransitionFade

   if (animationDirection==nil) {

        animation.subtype =kCATransitionFromTop;//移动方向:从下至上

    }elseif ([animationDirection isEqualToString:@"RIGHT"]){

        animation.type =kCATransitionFade;

        animation.subtype =kCATransitionFromRight;//移动方向:从右至左

    }

    [alertView.layeraddAnimation:animation forKey:@"animation"];

    [self.grayView addSubview:alertView]; 

}


 类似资料: