Tôi đang học Hoạt ảnh chính và thử các ví dụ mẫu.Thời lượng hoạt ảnh của thiết lập giao dịch không hoạt động
Khi tôi sử dụng đoạn mã sau, trong suốt thời gian hoạt hình làm việc
@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
Mặt khác, nếu tôi đã kết hợp các phương pháp mã Animate ở dưới cùng của nút viewDidLoad để nó xảy ra mà không cần nhấn bất kỳ nút, thời lượng hoạt ảnh không được tôn trọng. Tôi chỉ thấy kết quả cuối cùng mà không có bất kỳ hoạt ảnh nào.
Mọi suy nghĩ?
Cảm ơn KMB
Cảm ơn Rob. Điều đó hiệu quả. Tôi đoán những dấu ngoặc xung quanh bắt đầu cam kết là tùy chọn. – Spectravideo328
Niềng răng là tùy chọn. Tôi muốn thụt lề mã giữa 'bắt đầu' và' commit', và các dấu ngoặc ôm làm cho Xcode tự động thụt lề nó. –
Tôi mạnh mẽ thứ hai tham chiếu WWDC video - đó là một giới thiệu tuyệt vời cho nhiều gotchas của CoreAnimation. – MaxGabriel