一.Quartz2D画板涂鸦(照片保存)
效果图:
注意: 如图所示的功能画板,其它的按键作用我就不在这细说了,我们来看看对图片缩放之后,然后长按图片会保存在画板上,然后可以在上面画东西,之后按住保存,我这里将这一个功能说下思路.
1. 怎么进入系统相册(找工作会遇到的笔试题)
2. 选择照片的时候进入系统相册,此时控制器是从下面modal(任何控制器都能modal)出来的,直接用一个方法presentViewController:
3. 谁modal,谁dismiss(下面这个方法是代理调用的)
4. 思路一通知: 添加一个UIImageView.
通知的主要思想: 让两个完全没有联系的对象,产生联系---->可以用通知的方法,交给你们自己写
5.思路二代理: 这边的代理我们主要把它用在将处理好的照片传到画板上,怎么将处理好的照片传给画板,就用代理的方法
具体做法: 先添加一个UIView,然后在UIView中添加一个UIImageView,将手势给UIImageView,最后对UIView进行绘图,将整个UIView都绘制到画板当中,点击画板保存的时候,实际上就是对整个UIView的保存,只不过UIView把颜色改成透明色,然后将UIView移除,否则无法继续往上面继续画图.
注意: 思路二需要用到协议,代理;让控制器成为代理,将长按保存图片的事件告诉代理,让代理拿到图片
代码一: 加在画板view上的一个UIView.协议部分
代码块二: 在控制器的点m文件中实现代理方法,这样就将处理好的照片传给了画板,显示在画板上了.
6. 保存照片的时候有可能会出现下面的错误--->出现这个错误就是方法调用错误
二.核心动画之时钟
主要内容:1. 所有的旋转和缩放都是按着锚点(中心)做的
2. 旋转方法:旋转路径最短的一方旋转;角度相同的话就按逆时针旋转
3. 日历类
4. 角度计算
5. 定时器
功能图:
1> 当Xib中的view加载完毕的时候调用,我们将分别计算时针,分针和秒针的摆放位置的方法写在给个方法里,然后在viewDidLoad里面调用
2> 计算每个针的长度和摆放位置:这里我就为大家写上一个方法,其它的其实就是将里面的宽度和长度改变就好
3> 获取当前的时,分,秒
4> 计算旋转的角度