2012-11-13 15 views

Odpowiedz

19

Cóż, znalazłem to gdzieś:

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

Jest to domyślny iPhone animacja migawki aparatu.

+9

Szkoda, że ​​"cameraIris" nie ma publicznej udokumentowana wartość dla opcji [Typ CATransition]. Czy ktoś ma doświadczenie w tym, czy Apple odrzuci to? – Hailei

+0

Dzięki! Dokładnie tego potrzebuję. –

+0

Dzięki .. Działa ... – vipulkumarmehta

2

I 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")