在项目版本迭代过程中增添了牌谱的功能,在初次看到需求文档的时候首先感到的难点是生成图片的功能。
项目需求:用户自己编辑一个牌谱,然后生成图片保存到自己的牌谱中。
之前并没有深入地了解过这一块,于是参考类似的App,上网查找相关资料,最终解决了这个难点。
先看效果图:
界面的搭建很简单,说一下个人思路。
思路:
在编辑页面编辑完成后,要进行预览,预览的应该是一张图片(因为当点击完成的时候,图片就能在我的牌谱中显示了,且是以图片的方式显示),但我在预览页面放的并不是一张图片,而是一个视图UIView,在点击完成的时候将视图生成图片同时进行上传。
从编辑页到预览页,将编辑页面的编辑内容传递给预览页面,然后在预览页面进行布局。布局完成之后,将视图生成图片。代码:
UIGraphicsBeginImageContextWithOptions(_pokerV.bounds.size, NO, 0);
[_pokerV.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
以上代码只是生成图片的代码,此时我们将可以将viewImage进行上传,从而显示在我们的牌谱中。
看代码确实很简单,只是以前没怎么接触过,所以预估完成时间稍微多了几天。
视图生成图片这一块涉及到了图层的知识,有时间可以了解了解图层的内容。