OS X编程: 使用Core Animation

OS X编程: 使用Core Animation,第1张

概述OS X 上使用核心动画(Core Animation) 自从swift推出以来,我断然放弃了object_c,转向swift,我多年使用C++,所以swift对我来说要容易一些。基本的swift的内容这里就不说了。 最近我开始研究核心动画(Core Animation),在这里做个记录。 建立一个基本的Cocoa 应用,修改代码为: import Cocoa@NSApplicationMai

OS X 上使用核心动画(Core Animation


自从swift推出以来,我断然放弃了object_c,转向swift,我多年使用C++,所以swift对我来说要容易一些。基本的swift的内容这里就不说了。

最近我开始研究核心动画(Core Animation),在这里做个记录。

建立一个基本的Cocoa 应用,修改代码为:

import Cocoa@NSApplicationMainclass AppDelegate: NSObject,NSApplicationDelegate {    @IBOutlet weak var window: NSWindow!    @IBOutlet weak var theVIEw: NSVIEw!        let circleLayer = CAShapeLayer()        func applicationDIDFinishLaunching(aNotification: NSNotification) {        // Insert code here to initialize your application                theVIEw.wantsLayer = true        let rect = theVIEw.frame        circleLayer.fillcolor = CGcolorGetConstantcolor(kCGcolorBlack)        circleLayer.path = CGPathCreateWithEllipseInRect( rect,nil)        self.theVIEw.layer?.addSublayer(circleLayer)    }    func applicationWillTerminate(aNotification: NSNotification) {        // Insert code here to tear down your application    }}


也就是添加蓝色代码,编译,如果没有错误的话,你可以可以看到



这个界面巨丑,所以就不贴全图了。它第一次出现我还是小激动了一下。

上面虽然只有短短的几行代码,却花费了我不少时间和心思。网络上关于OS X 的例子相当难找。

theVIEw.wantsLayer = true

上面这句是OS X IOS区别的关键点。因为IOS 底层根本就是使用图层和 Core Animation绘制视图的,而缺省情况下 OS X并没有。如果你打算在OS X使用,就需要打开这个开关,通知 NSVIEw为你准备好图层,你可以查看视图的属性,layer属性缺省为nil

这里的第二个问题就是CGPath。网上有句话这样写:bezIErPathCGPath赋值给caShapeLayerpath,即caShapeLayer.path =bezIErPath.CGPath

OS X NSBezIErPath里面并没有这个CGPath属性。当然,总有办法把 NSBezIErPath变成 CGPath,我们为什么不直接使用CGPath呢?然后是CGcolor。从普通的道理上讲,使用CGPathCGcolor是最正宗的方式,不然苹果就没有必要提供这些类。

接下来及时NSVIEw,跟层相关的东西还有不少。前面只是大致看了看,接下来我会继续研究。

总结

以上是内存溢出为你收集整理的OS X编程: 使用Core Animation全部内容,希望文章能够帮你解决OS X编程: 使用Core Animation所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1083890.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存