2010-09-01 138 views
1

我試圖在圖像上繪製一個半透明的形狀。最大CAShapeLayer大小?

我有一個UIView這是它的圖層的內容設置爲圖像,CAShapeLayer誰的路徑被設置爲形狀。在父UIView內有一些UIViews,這是UIScrollView的縮放子。

iPhone上的一切都很好,但是當我在iPad上放大時,UIViews變得非常大,並且CAShapeLayers消失。圖像顯示效果很好。我猜想這個問題是一個尺寸問題,所以我把CAShapeLayers分成兩部分,這樣就有了左右兩側。現在,除非用戶放大到非常遠的距離,否則它們都會顯示出來,例如,在它們反彈之前,「超出我的最大放大倍數」而不是「縮小」。

拆分我的CAShapeLayers進一步是可行的,但有點煩躁。所以,我有幾個問題:

  1. CAShapeLayers是否有最大尺寸限制?爲什麼它不適用於圖層的圖像內容?
  2. 爲什麼CAShapeLayersUIScrollView內的變焦縮放期間重新繪製?整個縮放視圖(UIScrollView's直接孩子)不應該在英寸期間被光柵化?我怎麼能這樣做?

回答

1

事實證明,我的電腦(2006年的MacBook)的最大面積是1024 * 1024。

iPad上的全屏形狀爲1004像素高,最大寬度爲1044像素,例如,如果您想在水平滾動視圖中顯示較大的形狀。

當捏反彈變焦時,形狀的實際高度變大,推動最大寬度下降到約250像素。這比我想要的更窄,但可行。

這在物理iPad上可能會有所不同,但這些都是我開發箱上模擬器的限制。

+1

我相信iPad設備上的CAShapeLayer沒有限制,但在模擬器中有1024 x 1024的限制。我實際上在iPad 3.2中使用2048 x 2048並且效果很好。我只花了2個小時的時間試圖解決我沒有的問題,這是因爲我還沒有在iPad上檢查它。你的筆記爲我節省了很多時間。我打算修改腳本以將形狀限制爲1024 x 1024。 – 2011-02-28 03:50:58