2011-11-23 179 views
2

我正在實現一個用於繪製圖像和文本的應用程序。用戶可以創建頁面並在其中繪製並將該頁面保存在應用程序的文檔目錄中。但是當用戶重新打開同一個文檔進行編輯時,我無法知道如何恢復他添加到頁面的所有視圖。恢復以前的視圖及其子視圖

回答

3

你可以系列化你的UIView意味着您可以編碼和解碼視圖對象,因爲UIView的實施NSCoding協議..

退房下面SO鏈接,編碼和解碼你的UIView對象

How to serialize a UIView?

您可以輕鬆修改並維護版本。

0

嘗試將其轉換成圖像是這樣的: Create Image

之後,你可以保存和負荷爲正常圖像。

希望這將有助於^^

+0

但我將它恢復爲圖像後,我將無法編輯它。它由textViews組成。如果我創建該視圖的圖像,這些文字瀏覽將無法編輯。 –

1

你必須有一個文件或類似的東西來存儲你的頁面。例如,對於您的每張圖片,您需要保存其frame及其imagepath以進行恢復。對於用戶在頁面上輸入的每個文本,您必須再次保存其frame及其文本textviewtextfield。總而言之,您應該將該圖層的index作爲關閉保存或不保存!

我希望它對你有用!

+0

感謝這非常有幫助。這對圖像視圖和文字瀏覽是可以的,但我如何使用觸摸來存儲自由手繪圖。 –

+0

這取決於你如何繪製自由手繪圖?!如果您將曲線計算爲平滑線,則需要保存其公式。但是,如果將它們保存爲一些點,則只需保存像素即可。 –