2
在我的應用程序中,我顯示PDF頁面並希望允許用戶通過在頁面上方的徒手畫進行「標記」文檔。我可以處理Quartz代碼進行徒手繪製,但是我可以使用什麼方法來保存這些「標記」,以便下次用戶將PDF加載到應用程序時可以在頁面上重新顯示它們?在iPhone上保存通過PDF呈現的石英圖紙操作系統
感謝,
//斯科特
在我的應用程序中,我顯示PDF頁面並希望允許用戶通過在頁面上方的徒手畫進行「標記」文檔。我可以處理Quartz代碼進行徒手繪製,但是我可以使用什麼方法來保存這些「標記」,以便下次用戶將PDF加載到應用程序時可以在頁面上重新顯示它們?在iPhone上保存通過PDF呈現的石英圖紙操作系統
感謝,
//斯科特
問題:
解決方案:
保存PDF頁面引用可以很簡單,只需保存與PDF和當前頁面關聯的URL即可。
由於UIBezierPath
符合NSCoding
,所以保存繪圖指令可以像存檔用作繪圖指令的UIBezierPath
一樣簡單。如果您使用的是CGMutablePathRef
,則可以從CGPath
初始化UIBezierPath
並存檔新初始化的貝塞爾路徑。取消存檔後,您可以從UIBezierPath
中檢索CGPath
。
如果您不需要用戶能夠在以下會話中編輯繪圖說明,那麼您可以將繪圖渲染爲靜態圖像,並在下次加載並繪製該圖形。在該會話之後,將這些說明渲染到原始圖像上,並保存,然後繼續。