2012-11-11 22 views
7

我正在嘗試使用CATransitionfilter屬性以及新的iOS 6轉換動畫(CIBarsSwipeTransition,CICopyMachineTransition等)。 CIFilter documentation表示這些在iOS 6上可用,並且CATransition documentation上的任何內容都表示無法使用filter屬性。使用轉換CIFilters進行CATransition

但是,我似乎無法讓他們工作。我不知道Apple是否沒有提及該功能的不可用性,或者我錯過了一些使其工作的東西。以下是我如何設置它:

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]; 

任何指針,讚賞。

回答

3

我不確定它可能在iOS上。從CATransition文檔:

如果指定,過濾器必須支持kCIInputImageKeykCIInputTargetImageKey輸入鍵和kCIOutputImageKey輸出鍵。

CIFilter documentation(常數部分)(重點煤礦)

kCIInputTargetImageKey

一種用於CIImage對象爲過渡目標圖像密鑰。 在OS X v10.5及更高版本中可用。 不適用於iOS

過濾器存在,並且inputTargetImage是輸入鍵的,但即使你自己創建的核心圖像數據,並將其分配給的屬性(在調試器正確顯示),那麼你還是不明白效果。

在OS X上創建相同的效果與問題中的代碼一樣簡單。我已經把這個作爲雷達提交(13281399)。

+0

您能否提供指向「在iOS中不可用」的文檔的鏈接?我在我的問題中鏈接的文件沒有提到這一點。無論如何,我很久以前就放棄了這一點,並做出了我自己的定製實現。我會把這個標記爲答案,因爲你似乎比我更多地關注這個問題,並提出了一個雷達。 –

+1

鏈接已添加到答案。常量部分在底部。 – jrturton