2012-11-11 18 views
7

Tôi đang cố gắng sử dụng thuộc tính CATransition's filter với các hoạt ảnh chuyển tiếp iOS 6 mới (CIBarsSwipeTransition, CICopyMachineTransition, v.v.). Các CIFilter documentation nói rằng đây là những có sẵn trên iOS 6, và không có gì trên CATransition documentation nói rằng bất động sản filter không thể được sử dụng.Sử dụng CIFilters chuyển tiếp cho CATransition

Nhưng, dường như tôi không thể khiến chúng hoạt động. Tôi không biết nếu Apple chỉ không đề cập đến sự không có sẵn của các chức năng hoặc tôi chỉ thiếu một cái gì đó để làm cho nó hoạt động. Dưới đây là cách tôi thiết lập:

CIFilter *transitionFilter = [CIFilter filterWithName:@"CIBarsSwipeTransition"]; 
[transitionFilter setDefaults]; 

CATransition *transition = [CATransition new]; 
transition.duration = 0.4f; 
transition.filter = transitionFilter; 

[self.view.layer addAnimation:transition forKey:kCATransition]; 

Mọi con trỏ đều được đánh giá cao.

Trả lời

3

Tôi không chắc chắn rằng nó có thể trên iOS. Từ các tài liệu CATransition:

Nếu quy định, bộ lọc phải hỗ trợ cả kCIInputImageKeykCIInputTargetImageKey phím đầu vào, và phím kCIOutputImageKey đầu ra.

Từ (phần hằng số) CIFilter documentation (tôi nhấn mạnh)

kCIInputTargetImageKey

Một chìa khóa cho một đối tượng CIImage đó là hình ảnh mục tiêu cho một sự chuyển tiếp. Có trong OS X v10.5 trở lên. Không có sẵn trong iOS.

Bộ lọc tồn tại, và inputTargetImage là một trong các phím đầu vào, nhưng ngay cả khi bạn tạo ra các dữ liệu hình ảnh cốt lõi bản thân và gán nó vào thuộc tính (trong đó hiển thị chính xác trong trình gỡ lỗi) sau đó bạn vẫn không nhận được hiệu quả.

Tạo hiệu ứng tương tự trên OS X đơn giản như mã trong câu hỏi của bạn. Tôi đã nộp nó như một radar (13281399).

+0

Bạn có thể cung cấp liên kết đến tài liệu đề cập đến "Không có sẵn trong iOS không?" Các tài liệu tôi liên kết trong câu hỏi của tôi không đề cập đến điều đó. Dù sao, tôi đã từ bỏ điều này một thời gian dài trước đây và thực hiện tùy chỉnh của riêng tôi. Tôi sẽ đánh dấu đây là câu trả lời vì bạn dường như đã tìm hiểu về điều này nhiều hơn tôi đã làm như đã nộp một radar. –

+1

Liên kết được thêm vào để trả lời. Phần hằng số nằm ở phía dưới. – jrturton

4

Tôi biết câu hỏi đó là khá cũ nhưng tôi đã nhận tôi làm việc bằng cách làm theo liên kết

https://developer.apple.com/library/mac/#documentation/graphicsimaging/conceptual/CoreImaging/ci_tasks/ci_tasks.html

Kiểm tra 11 bước trong phần "Sử dụng hiệu ứng chuyển tiếp" nó hoạt động trên iOS cũng

+0

Tôi biết tài liệu đó và tôi biết đó là các bước để tạo các khung riêng lẻ. Điều đó có nghĩa là tôi phải phân lớp 'CATransition' và tự mình thực hiện quá trình chuyển đổi? Điều đó có vẻ khá vô ích đối với thuộc tính 'filter' tồn tại. –

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