Tôi đang làm động một CALayer bằng cách sử dụng CABasicAnimation và hy vọng lớp sẽ vẫn ở vị trí khi hoạt ảnh hoàn tất. Gần như tất cả các giải pháp hiển thị như sau, trong đó hoạt động tốtCách đúng để ngăn lớp biến mất trong CABasicAnimation?
animation.removedOnCompletion = NO;
animation.fillMode = kCAFillModeForwards;
Tuy nhiên, WWDC loa 2010 tại các Animation cốt lõi trong thực tiễn Phần 1 (~ 38-41mins) nói rằng hầu hết các giải pháp cho các lớp biến mất được tìm thấy là " giả mạo" và cách chính xác để animate một lớp được xấp xỉ sau
animation.fromValue = [NSNumber numberWithFloat:layer.position.y];
layer.position = CGPointMake(layer.position.y, endPoint);
animation.toValue = [NSNumber numberWithFloat:endPoint];
lý do đưa ra là giải pháp removedOnCompletion/fillMode chỉ đóng băng các lớp trình bày và lớp thực tế vẫn có vị trí thiết lập ban đầu của nó.
Vui lòng sửa tôi nếu tôi đã diễn giải sai loa.
Nếu tôi đã hiểu chính xác anh ấy, khi nào thì nó quan trọng?
Xin cảm ơn, Steve
Cảm ơn bạn đã trả lời - xin lỗi tôi ở đây hơi chậm. Tôi có thể không bao giờ đi qua sự cần thiết phải làm một cái gì đó nhiều hơn với các lớp trình bày hoặc lớp thực tế đó là lý do tại sao tôi phải vật lộn với hai phương pháp. Cảm ơn một lần nữa. Steve – Steve