cocoa开发之:利用CABasicAnimation实现图片旋转

来源:互联网 发布:电力电子仿真软件 编辑:程序博客网 时间:2024/06/03 16:16

最近由于一直在敢项目进度,所以没有抽出时间来坚持写博客,刚好趁着今天周五了,也顺便该总结一下,同时也给大家分享下我昨天攻克的一个难点,获取对那些Mac 开发大神来说不算什么,毕竟也是耗费了一些心血!总感觉自己要多尝试,不尝试怎么知道自己能不能做出来,又怎么提高自己的开发水平,cocoa 开发的资料 又不像ios资料那么多....

闲话少说,首先我们新建项目:RevolveDemo,同时创建一个BaseWindow,在BaseWindow.m文件中,将窗口设置为透明度。如下:


然后我们再创建一个MainWindowController,同时设置为当前程序的主窗口,具体代码在前面的文章中有过相关介绍,然后开始设置我们的界面,如下:

1.修改MainWindowController.xib上面的NSWindow的继承类型为我们自定义的BaseWindow, 在MainWindowController.m文件中先创建一个NSImageView,将它设置为圆形,然后添加到当前窗口上,如:


2.接着我们要创建外围旋转的NSImageView,如:


3.创建提示“正在加载...”的NSTextField,由于在cocoa开发中NSTextField相当于IOS中的UILabel,所以需要我们自己去设置相关属性来实现跟UILabel一样的效果,如:


4.创建好以后,然后开始调用我们上面写的那些函数,如:


在这里我给大家讲下为什么要设置[[self window] setHasShadow:NO];因为我们将NSWindow的背景色设置为透明以后,控件都会有阴影效果,在我们做旋转动画的时候就会非常明显的显示出来,所以我们要去掉那个阴影效果,当然大家可以具体实现下。最终效果如图:


利用CABasicAnimation来实现动画旋转就到此结束了,下面讲述的是我们结束这个动画显示当前主窗口。会做窗口跳转的可以直接忽略了,我们再接着创建一个NewsWindowController类,然后在MainWindowController.m中引用改文件,并声明对象,然后实现跳转方法,如下:


然后我们在主程序中利用NSTimer写个定时器,调用上面窗口跳转的方法,如:


好了,今天介绍就到此为止了,我们下次继续!下面是demo的链接:

http://download.csdn.net/detail/u012890071/9458832   点击打开链接

3 0
原创粉丝点击