Core Animation'ı öğreniyorum ve örnek örneklerini deniyorum. Aşağıdaki kodu kullandığınızda bunu hiçbir tuşa basmadan olur böylece viewDidLoad düğmesinin altındaki Animasyon yöntemi kodunu yığılı eğerCATransaction ayarı animasyon süresi çalışmıyor
, animasyon süresi, Öte yandan
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
//Modifying base layer
self.view.layer.backgroundColor = [UIColor orangeColor].CGColor;
self.view.layer.cornerRadius = 20.0;
self.view.layer.frame = CGRectInset(self.view.layer.frame, 20, 20);
//Adding layer
mylayer=[CALayer layer]; //mylayer declared in .h file
mylayer.bounds=CGRectMake(0, 0, 100, 100);
mylayer.position=CGPointMake(100, 100); //In parent coordinate
mylayer.backgroundColor=[UIColor redColor].CGColor;
mylayer.contents=(id) [UIImage imageNamed:@"glasses"].CGImage;
[self.view.layer addSublayer:mylayer];
}
- (IBAction)Animate //Simple UIButton
{
[CATransaction begin];
// change the animation duration to 2 seconds
[CATransaction setValue:[NSNumber numberWithFloat:2.0f] forKey:kCATransactionAnimationDuration];
mylayer.position=CGPointMake(200.0,200.0);
mylayer.zPosition=50.0;
mylayer.opacity=0.5;
[CATransaction commit];
}
@end
işleri animasyon süresine uyulmaz. Sadece son sonucu herhangi bir animasyon olmadan görüyorum.
Herhangi bir düşünce?
Teşekkür KMB
teşekkürler Rob. İşe yaradı. Etrafımdaki bu parantezlerin isteğe bağlı olduğunu tahmin ediyorum. – Spectravideo328
Parantez isteğe bağlıdır. 'Begin' ve 'commit' arasındaki kodu girmeyi severim ve parantez Xcode'u otomatik olarak girintilendirir. –
Başvurulan WWDC videosunu ikinci kez çalıştırıyorum - bu, CoreAnimation'ın çok sayıda toplama aşamasına mükemmel bir giriş niteliğindedir. – MaxGabriel