iOS之UI--涂鸦画板实例 (有待更新)
2019獨角獸企業重金招聘Python工程師標準>>>
?
首先是搭建框架
?
其他的略過,直接展示效果:
然后接下來上傳搭建好兩個控制器框架的源碼百度云下載鏈接: 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添加功能了 撤銷功能: 這里需要添加一個業務邏輯:為了手繪之后要清楚存儲撤銷操作的數組: 設置垃圾桶刪除圖標的事件監聽: 保存到系統相冊的方法: 這部分源碼,可以直接復制利用: 1 #pragma mark - 存儲在相冊中 2 - (IBAction)albumn:(UIBarButtonItem *)sender { 3 //把畫板上的內容生成一張圖片,保存到系統相冊當中. 4 UIGraphicsBeginImageContextWithOptions(self.canvasView.bounds.size, NO, 0); 5 //把畫板的內容渲染到上下文當中. 6 //獲取當前的上下文 7 CGContextRef ctx = UIGraphicsGetCurrentContext(); 8 [self.canvasView.layer renderInContext:ctx]; 9 //從上下文當中生成一張圖片 10 UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 11 //關閉上下文 12 UIGraphicsEndImageContext(); 13 //把生成的圖片寫入到系統相冊 14 //注意:保存完畢執行的這方法必須得要是 15 //- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo 16 UIImageWriteToSavedPhotosAlbum(newImage, self, @selector(image:didFinishSavingWithError:contextInfo:), nil); 17 } 18 - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{ 19 20 NSLog(@"%s",__func__); 21 } View Code?接著,我突發奇想,想把特炫的蘋果封裝的好的轉場動畫用進去。當我點擊垃圾桶圖標刪除當前這個畫板,根據前面的代碼我們也知道,會有彈出UIActionSheet提示框,點擊確定當然會觸發清空的功能,但是我希望是在清空之前有個翻頁的功能,就好像前面不要的一頁翻過去了。
關于轉場動畫這里就不累述了,可以自行百度谷歌,或者參考我的博文筆記:http://www.cnblogs.com/goodboy-heyang/p/5044018.html
到目前為止的項目備份百度云下載鏈接: http://pan.baidu.com/s/1o7kbQYI 密碼: k224
再看看運行效果
?
轉載于:https://my.oschina.net/u/2363463/blog/635921
總結
以上是生活随笔為你收集整理的iOS之UI--涂鸦画板实例 (有待更新)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Msc系统上的eclipse遇到乱码问题
- 下一篇: Windows Server 2012