2012-11-13 39 views

回答

19

好吧,我發現這個地方:

 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"]; 

這是默認的iPhone相機快門動畫。

+9

這是一個遺憾, 「cameraIris」 不是[CATransition類型]公共記錄值。有沒有人有這樣的經驗,這是否會被蘋果拒絕? – Hailei

+0

謝謝!這正是我需要的。 –

+0

謝謝..它工作... – vipulkumarmehta

2

而且在斯威夫特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")