我有一個視圖,它內部有多個視圖,還有一個圖像演示文件(也稱爲'cover flow')...我需要以編程方式製作屏幕截圖!「renderInContext:」和CATransform3D
由於文檔說,「renderInContext:」不會渲染3D動畫:
「重要的的Mac OS X v10.5的此方法的實現不支持整個Core Animation的組合模型QCCompositionLayer,CAOpenGLLayer和QTMovieLayer圖層不會被渲染,另外,不會渲染使用3D變換的圖層,也不會渲染backgroundFilters,filters,compositingFilter或mask值的圖層。未來版本的Mac OS X可能會增加對渲染這些圖層和屬性的支持。
我尋覓了很多,我的「最好」的解決方案(即都不好),是創造我自己的CGContext上和所有的CG動畫錄製進去。但我真的不想這樣做,因爲我需要重寫大部分動畫代碼,並且這對內存來說會非常昂貴......我發現其他解決方案(其中一些無法制作)使用openGL或通過捕獲AVSessions,但沒有人能幫助我...
我的選擇是什麼?有這個問題嗎?
謝謝你的時間!
也許它也工作,如果你使用我以前的功能,但在主UIWindow上使用它,那麼它應該會自動擁有所有視圖裏面。但無論如何,你已經解決了它:) – 2012-03-29 07:43:34