文档章节

AppleWatch开发入门九——Watch帧动画的实现

珲少
 珲少
发布于 2015/10/19 19:33
字数 520
阅读 557
收藏 3

AppleWatch开发入门九——Watch帧动画的实现

        动画一直是iOS系统的一大亮点,CoreAnimation和粒子效果的支持,开发者可以很容易的做出效果炫酷的动画特效。在watchOS中,由于性能和屏幕尺寸的限制,对于动画,并没有强大的框架支持,但是这并不是说开发者就没办法在watch上添加动画的特效了。在watchOS中唯一可以让开发者用于动画操作的就是帧动画。

        和iOS类似,watchOS中的真动画也是通过UIImage对象的合集来展示的。只是设置和用法略有不同。

        首先,watchOS中帧动画的操作被单独封装成了一个协议,当然,WKInterfaceImage类是遵守了这个协议的:

public protocol WKImageAnimatable : NSObjectProtocol {
    //从默认帧开始播放动画
    public func startAnimating()
    //播放一个指定范围的帧动画 NSRange是帧的范围,durtion是播放一遍的时间,repeatCount是重复播放次数,0为无限循环
    public func startAnimatingWithImagesInRange(imageRange: NSRange, duration: NSTimeInterval, repeatCount: Int)
    //停止播放动画
    public func stopAnimating()
}

创建帧动画的步骤与一些注意:

1、关联一个视图中的WKInterfaceImage对象

2、所有帧动画的图片帧必须有统一的格式:比如image1.png,image2.png等等

3、给WKInterfaceImage对象设置帧前缀:

imageInterface.setImageNamed("image")

注意:这里使用的方法和设置图片的方法一样,但是参数有别,图片的设置需要完整的图片名,动画帧前缀的设置只要设置帧图片的前缀。

4、开始动画:

 imageInterface.startAnimatingWithImagesInRange(NSRange(location: 1, length: 3), duration: 3, repeatCount: 0)

注意:素材帧必须放入watchKit App这个Target中,才可以使用。 

专注技术,热爱生活,交流技术,也做朋友。

——珲少 QQ群:203317592

© 著作权归作者所有

共有 人打赏支持
珲少

珲少

粉丝 842
博文 377
码字总数 443931
作品 0
上海
iOS工程师
AppleWatch开发入门八——Watch中图片缓存的处理

AppleWatch开发入门八——Watch中图片缓存的处理 由于iWatch在存储和性能上都和iPhone有着很大的差距,这就要求开发者对程序有更高的性能优化,下载与传输图像,在Watch操作中是一个非时的过...

珲少
2015/10/19
703
0
AppleWatch开发入门三——代码交互与控制器生命周期

AppleWatch开发入门三——代码交互与控制器生命周期 一、引言 在前两篇博客中,讨论了关于watch开发中框架与界面布局相关,然而主要的逻辑,终究还是要通过代码来实现的,在我们创建了项目之...

珲少
2015/10/14
739
1
AppleWatch开发入门四——Table视图的应用

AppleWatch开发入门四——Table视图的应用 一、Watch上的Table WatchOS中的TableView和iOS中的TableView还是有很大的区别,在开发之前,首先我们应该明白WatchOS中的Table有哪些局限性和特点...

珲少
2015/10/15
1K
1
AppleWatch开发入门一——Watch的开发思路与应用框架

AppleWatch开发入门一——Watch的开发思路与应用框架 一、引言 Apple Watch无疑是apple在智能手表领域的一次革命,如何在Watch上开发出实用且具有美感的应用,是iOS开发者们开始思考的一个问...

珲少
2015/10/13
994
1
AppleWatch开发入门五——菜单控件的使用

AppleWatch开发入门五——菜单控件的使用 一、简介 菜单也是WatchOS中一个重要的交互方式,限于Watch的屏幕尺寸,若将所有用户交互控件都紧密的排列进展示的UI中,那样难免会使用户操作困难,...

珲少
2015/10/15
878
4

没有更多内容

加载失败,请刷新页面

加载更多

下一页

深夜胡思乱想

魔兽世界 最近魔兽世界出了新版本, 周末两天升到了满级,比之前的版本体验好很多,做任务不用抢怪了,不用组队打怪也是共享拾取的。技能简化了很多,哪个亮按哪个。 运维 服务器 产品 之间的...

Firxiao
17分钟前
0
0
MySQL 8 在 Windows 下安装及使用

MySQL 8 带来了全新的体验,比如支持 NoSQL、JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升。本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用法。 下载 下载地址 https://dev....

waylau
51分钟前
0
0
微信第三方平台 access_token is invalid or not latest

微信第三方开发平台code换session_key说的特别容易,但是我一使用就带来无穷无尽的烦恼,搞了一整天也无济于事. 现在记录一下解决问题的过程,方便后来人参考. 我遇到的这个问题搜索了整个网络也...

自由的开源
今天
0
0
openJDK之sun.misc.Unsafe类CAS底层实现

注:这篇文章参考了https://www.cnblogs.com/snowater/p/8303698.html 1.sun.misc.Unsafe中CAS方法 在sun.misc.Unsafe中CAS方法如下: compareAndSwapObject(java.lang.Object arg0, long a......

汉斯-冯-拉特
今天
2
0
设计模式之五 责任链模式(Chain of Responsibility)

一. 场景 相信我们都有过这样的经历; 我们去职能部门办理一个事情,先去了A部门,到了地方被告知这件事情由B部门处理; 当我们到了B部门的时候,又被告知这件事情已经移交给了C部门处理; ...

JackieRiver
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部