標籤:
首先是搭建架構
其他的略過,直接展示效果:
然後接下來上傳搭建好兩個控制器架構的源碼百度雲下載連結: http://pan.baidu.com/s/1skjpDox 密碼: ardx ,工程裡面還有我花了好長時間弄好的表徵圖素材哦。
然後在自訂繼承UIView的CanvasView中:
然後效果是:
因為上面邏輯上的緣故,所以每重新繪製一次就會清除前一次的痕迹。那麼解決方案就是,通過一個強引用的可變數組索引來儲存每一次建立的路徑,然後繪製出就遍曆這個數組,全部繪出路徑即可。
效果:
現在,需要將PatteleViewController的設定畫筆屬性起作用,所以需要在兩個控制器傳遞資料,接下來就使用備忘錄模式以及封裝好的架構(http://www.cnblogs.com/goodboy-heyang/p/5041523.html),因為時間緣故,就不整理細節筆記了,真的太花時間了,這裡我就偷懶一下了,直接上傳動態:<github上的FastCoding架構下載連結:https://github.com/nicklockwood/FastCoding> 原始碼百度雲下載連結: http://pan.baidu.com/s/1kUdwtDl 密碼: p81d 因為想體驗一下直接用之前自己封裝好的沙箱存取和操作的自訂SandBoxManager,看看載入速度快不快。 並且我還設定了toolBar的背景顏色: 這裡提供使用封裝好的SandBoxManager的原始碼百度雲連結: http://pan.baidu.com/s/1qWTcKEC 密碼: z8qd 這裡就上載入本機資料恢複對象狀態的關鍵代碼吧:儲存物件的狀態:恢複對象的狀態: 其實以上的方法就是瞎折騰,也不能算是瞎折騰,可以為以後開發遇到的新的需求提供新的可選擇的方案,那麼接著就改為最優的方法,既然有Modal直接用Modal所有的方法和屬性即可,關鍵代碼: 連結: http://pan.baidu.com/s/1sk2S8mp 密碼: vtun 此原始碼代碼最佳化之後很整潔,優雅。 接下來就是要為toolBar的其他item添加功能了撤銷功能: 這裡需要添加一個商務邏輯:為了手繪之後要清楚儲存撤銷操作的數組: 設定垃圾桶刪除表徵圖的事件監聽: 儲存到系統相簿的方法: 這部分源碼,可以直接複製利用: View Code
接著,我突發奇想,想把特炫的蘋果封裝的好的轉場動畫用進去。當我點擊垃圾桶表徵圖刪除當前這個畫板,根據前面的代碼我們也知道,會有彈出UIActionSheet提示框,點擊確定當然會觸發清空的功能,但是我希望是在清空之前有個翻頁的功能,就好像前面不要的一頁翻過去了。
關於轉場動畫這裡就不累述了,可以自行百度Google,或者參考我的博文筆記:http://www.cnblogs.com/goodboy-heyang/p/5044018.html
到目前為止的項目備份百度雲下載連結: http://pan.baidu.com/s/1o7kbQYI 密碼: k224
再看看運行效果
iOS之UI--塗鴉畫板執行個體