自定义对话框AlterView

- (void)show;

{

    self.hidden = NO;

    CAKeyframeAnimation *animation = [CAKeyframeAnimation

                                      animationWithKeyPath:@"transform"];

    

    CATransform3D scale1 = CATransform3DMakeScale(0.5, 0.5, 1);

    CATransform3D scale2 = CATransform3DMakeScale(0.8, 0.8, 1);

    CATransform3D scale3 = CATransform3DMakeScale(0.9, 0.9, 1);

    CATransform3D scale4 = CATransform3DMakeScale(1.0, 1.0, 1);

    

    NSArray *frameValues = [NSArray arrayWithObjects:

                            [NSValue valueWithCATransform3D:scale1],

                            [NSValue valueWithCATransform3D:scale2],

                            [NSValue valueWithCATransform3D:scale3],

                            [NSValue valueWithCATransform3D:scale4],

                            nil];

    [animation setValues:frameValues];

    

    NSArray *frameTimes = [NSArray arrayWithObjects:

                           [NSNumber numberWithFloat:0.0],

                           [NSNumber numberWithFloat:0.5],

                           [NSNumber numberWithFloat:0.9],

                           [NSNumber numberWithFloat:1.0],

                           nil];

    [animation setKeyTimes:frameTimes];

    

    animation.fillMode = kCAFillModeForwards;

    animation.removedOnCompletion = NO;

    animation.duration = .2;

    

    [self.layer addAnimation:animation forKey:@"popup"];

}

 

- (void)dissmiss;

{

    self.hidden = YES;

    CAKeyframeAnimation *animation = [CAKeyframeAnimation

                                      animationWithKeyPath:@"transform"];

    

    CATransform3D scale1 = CATransform3DMakeScale(1.0, 1.0, 1);

    CATransform3D scale2 = CATransform3DMakeScale(0.7, 0.7, 1);

    CATransform3D scale3 = CATransform3DMakeScale(0.3, 0.3, 1);

    CATransform3D scale4 = CATransform3DMakeScale(0, 0, 1);

    

    NSArray *frameValues = [NSArray arrayWithObjects:

                            [NSValue valueWithCATransform3D:scale1],

                            [NSValue valueWithCATransform3D:scale2],

                            [NSValue valueWithCATransform3D:scale3],

                            [NSValue valueWithCATransform3D:scale4],

                            nil,nil];

    [animation setValues:frameValues];

    

    NSArray *frameTimes = [NSArray arrayWithObjects:

                           [NSNumber numberWithFloat:0.0],

                           [NSNumber numberWithFloat:0.5],

                           [NSNumber numberWithFloat:0.9],

                           [NSNumber numberWithFloat:1.0],

                           nil,nil];

    [animation setKeyTimes:frameTimes];

    

    animation.fillMode = kCAFillModeForwards;

    animation.removedOnCompletion = NO;

    animation.duration = .2;

    

    [self.layer addAnimation:animation forKey:@"popup"];

}

posted @ 2014-10-21 16:04  PressII...  阅读(243)  评论(0编辑  收藏  举报