画板涂鸦和时钟(Quartz2D,核心动画)

一.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> 计算旋转的角度


三.只是两个小小的项目,试试写写,每天都要提高自己,多多交流,给自己定一个目标:每一天遇到多少个bug,并且都能解出来

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值