8
我有一個頁面UIScrollView
,其contentSize足夠容納大量的小型UIScrollViews進行縮放,viewForZoomingInScrollView
是一個viewController,它包含一個用於繪製PDF頁面的CALayer。這使我可以像瀏覽ibooks PDF閱讀器一樣瀏覽PDF。CALayer和離屏渲染
繪製的PDF(平鋪層)的代碼位於:
- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx;
,只需添加一個「頁面」可視屏幕自動調用此方法。當我更改頁面時,即使已經創建了對象(頁面),在繪製所有圖塊之前仍有一些延遲。
我希望能夠做的是在用戶滾動到它之前呈現下一頁,從而防止出現可見的拼貼效果。但是,我發現如果圖層位於屏幕外,將其添加到滾動視圖不會調用drawLayer
。
任何想法/常見陷阱?
我曾嘗試:
[viewController.view.layer setNeedsLayout];
[viewController.view.layer setNeedsDisplay];
注:這個功能是複製的iBooks的事實是完整的應用程序的範圍內無關。
您需要在返回之前調用'UIGraphicsEndImageContext'。 – Jason 2010-10-09 20:07:40
謝謝你的傑森 – 2010-10-10 14:06:00