2012-11-13 23 views

Trả lời

19

Vâng, tôi tìm thấy một nơi nào đó:

 CATransition *shutterAnimation = [CATransition animation]; 
    [shutterAnimation setDelegate:self]; 
    [shutterAnimation setDuration:0.6]; 

    shutterAnimation.timingFunction = UIViewAnimationCurveEaseInOut; 
    [shutterAnimation setType:@"cameraIris"]; 
    [shutterAnimation setValue:@"cameraIris" forKey:@"cameraIris"]; 
    CALayer *cameraShutter = [[CALayer alloc]init]; 
    [cameraShutter setBounds:CGRectMake(0.0, 0.0, 320.0, 425.0)]; 
    [self.layer addSublayer:cameraShutter]; 
    [self.layer addAnimation:shutterAnimation forKey:@"cameraIris"]; 

Đó là mặc định iPhone hoạt hình camera độ màn trập.

+9

Đó là một điều đáng tiếc rằng "cameraIris" không phải là một cộng đồng ghi nhận giá trị so với [loại CATransition]. Có ai có kinh nghiệm về việc liệu điều này có bị Apple từ chối không? – Hailei

+0

Cảm ơn! Đó chính xác là những gì tôi cần. –

+0

Cảm ơn .. Nó hoạt động ... – vipulkumarmehta

2

Và trong Swift 3.0 ...

let shutterAnimation = CATransition.init() 
shutterAnimation.duration = 0.6 
shutterAnimation.timingFunction = CAMediaTimingFunction.init(name: 
kCAMediaTimingFunctionEaseInEaseOut) 
shutterAnimation.type = "cameraIris" 
shutterAnimation.setValue("cameraIris", forKey: "cameraIris") 

let shutterLayer = CALayer.init() 
shutterLayer.bounds = self.view.bounds 
self.view.layer.addSublayer(shutterLayer) 
self.view.layer.add(shutterAnimation, forKey: "cameraIris") 
Các vấn đề liên quan