2010-03-09 15 views
5

Tài liệu của Apple tuyên bố rằng khóa hành động Core Animation kCAOnOrderOut có một mục đích duy nhất: để animate một lớp ngoài tầm nhìn khi nó trở nên ẩn hoặc có -removeFromSuperlayer được gọi trên đó. Tôi chỉ đề cập đến trường hợp thứ hai trong câu hỏi này.Làm cách nào để chúng tôi nhận được kCAOnOrderOut hoạt động?

Trong thực tế, khi -removeFromSuperlayer được gọi, lớp sẽ bị xóa ngay lập tức và không có hoạt ảnh nào được thực hiện trên đó.

Nó được gợi ý rằng đây là sự khác biệt giữa các lớp Trình bày và Mô hình, nhưng tôi không đủ kinh nghiệm trong Hoạt ảnh cốt lõi để biết phải làm gì về điều này.

Nếu bất kỳ ai có thể giải thích cách buộc hoạt ảnh chạy trước khi lớp bị xóa, khi hoạt ảnh được trả về cho khóa kCAOnOrderOut, nó sẽ được ít nhất là tôi và một vài người khác đánh giá cao.

Cảm ơn.

Trả lời

0

Tôi không biết làm thế nào để triển khai nó bằng khóa kCAOnOrderOut, nhưng tôi đã gặp phải một vấn đề tương tự trong khi quay lại. Sửa lỗi của tôi là đặt hoạt ảnh với thời lượng cụ thể và ngay lập tức gửi một bộ hẹn giờ bị trì hoãn đợi cùng một khoảng thời gian như thời lượng hoạt ảnh. Sau khi bộ hẹn giờ của tôi bị sa thải, tôi sẽ xóa lớp/chế độ xem.

+0

Đây là tiêu chuẩn hack tôi và mọi người khác sử dụng trong thời gian này, có; nhưng nó hoàn toàn không cần thiết để "hack" điều này; kCAOnOrderOut chỉ đơn giản là làm việc như tài liệu. –

Các vấn đề liên quan