2011-07-05 187 views

回答

4

我已經這樣做了。該代碼是私有的付費客戶,所以我不能直接分享,但基本思路是這樣寫:

  • 一個UIView子類呈現一個PDF的單頁,使用CGPDFPageRefCGPDFDocument*CGContextDrawPDFPage函數族。它有助於很大程度上使此視圖從layerClass類方法返回[CATiledLayer class],並適當地設置圖層的levelsOfDetail和tileSize屬性。 Mine還實現了sizeThatFits以返回頁面大小加上一個小的陰影,並在pdf頁面的邊緣呈現細微的陰影。

    請記住,UIKit繪圖是從CG繪圖倒置;繪畫之前做一個CGContextTranslateCTM(ctx, 0.0, layer.bounds.size.height); CGContextScaleCTM(ctx, 1.0, -1.0);

  • 一個UIView子類,包含並分頁(以及代表)UIScrollView以分頁模式(主要水平分頁器)和每個頁面的單獨UIScrollView,每個UIScrollView包含上述視圖之一(用於放大個人)嵌套滾動視圖是蘋果明確認可的做這種事情的方式。這個觀點將需要制定你想要的頁面。大概是在一條長長的水平條上,每條縮小到一個適合的尺寸。

    如果您不需要頁面縮放,則可以跳過嵌套滾動視圖並直接在水平滾動條中佈置頁面視圖。

TL; DR:不幸的是,它不像扔在UIWebView中那麼簡單;但它是可行的,並且直接的方法確實有效。