2010-06-06 51 views
3

我有一個用於顯示PDF頁面的CATiledLayer(這個CATiledLayer是我UIView的圖層類型,它是UIScrollView的子視圖)。我想在此頁面上添加疊加標記。所以我添加了一個子圖層到我的CATiledLayer。該子圖層再次承載不同標記的圖層並充當分組圖層。如何讓CALayer(CATiledLayer的子圖層)在縮放後更改縮放比例?

所以圖形,我有:(記住,我有多個標記,其是CALayers也是,這是ASCII藝術畢竟)

pdf page (CATiledLayer) 
---------------------- 
| CALayer   | 
| +---------+  | 
| | +----+ |  | 
| | |mker| |  | 
| | +----+ |  | 
| +---------+  | 
|     | 
---------------------- 

我已經建立了規範的drawLayer:inContext的:在我查看繪製PDF。

當我縮放以獲得更多細節時,PDF得到正確渲染,但標記得到縮放。無論我對CALayer的界限做了什麼,我的標記總是變得更大,並顯得鋸齒狀。

我希望標記始終具有相同的尺寸,就像它們初始化並在繪製視圖時首先顯示的那樣。這可能嗎 ?或者我使用了錯誤的方法?我是否應該在drawLAyer中爲我包含的CALayer做特別的繪製:inContext:message?

正如你所看到的,有些東西我錯過了解決我的問題。感謝您提供的任何幫助。

回答

1

標記是縮放因爲它繼承了超級層的轉換。創建另一個頂級CALayer,其中包含您不想縮放的標記和其他對象,並將其覆蓋在CATiledLayer之上。

+0

我最終結束了使用另一個包含標記的uiview。我相信它具有相同的效果。我認爲這是不可能重寫轉換繼承。感謝您的迴應。 – David 2010-06-12 12:37:24