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

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

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

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

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

?


1

2

3

4

5

6

7

8

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对象设置帧前缀:

?


1

imageInterface.setImageNamed("image")

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

4、开始动画:

?


1

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

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

时间: 2024-11-20 17:13:01

AppleWatch开发入门九——Watch帧动画的实现的相关文章

AppleWatch开发入门二——界面布局

AppleWatch开发入门二--界面布局 一.简介         在iphone开发中,最基本的布局方式是通过frame,将控件的位置和大小固定在屏幕上,后来,由于手机屏幕的尺寸有了略微变化,有了autoresizing的布局框架,我们可以设置子视图随父视图的改变做一些相应的变化,再后来,iphone的尺寸与分辨率也越来越多,适配各个屏幕也成为了iOS开发者遇到的新的问题,幸运的是,autolayout机制的出现,大大减小了开发者在适配方面的成本.以上提到的两种布局方式,在以前博客中有讨论:

AppleWatch开发入门四——Table视图的应用

AppleWatch开发入门四--Table视图的应用 一.Watch上的Table         WatchOS中的TableView和iOS中的TableView还是有很大的区别,在开发之前,首先我们应该明白WatchOS中的Table有哪些局限性和特点.下面几点是我总结WatchOS中Table的特殊之处: 1.Table只有行的概念,没有分区的概念,没有头尾视图的概念. 2.可以通过创建多个Table,来实现分区的效果. 3.因为Watch上是通过Gruop进行布局适应的,所以没有行高

AppleWatch开发入门五——菜单控件的使用

AppleWatch开发入门五--菜单控件的使用 一.简介         菜单也是WatchOS中一个重要的交互方式,限于Watch的屏幕尺寸,若将所有用户交互控件都紧密的排列进展示的UI中,那样难免会使用户操作困难,也会影响界面布局的简洁美观.因此,WatchOS的菜单机制是一层覆盖在屏幕上的交互界面,有如下的特点: 1.菜单是内置于InterfaceController中的,不需显式处理,只需对齐菜单项进行添加设置. 2.菜单最多可以容乃四个选项按钮. 3.通过重按可以呼出和隐藏菜单. 二

AppleWatch开发入门三——代码交互与控制器生命周期

AppleWatch开发入门三--代码交互与控制器生命周期 一.引言         在前两篇博客中,讨论了关于watch开发中框架与界面布局相关,然而主要的逻辑,终究还是要通过代码来实现的,在我们创建了项目之后,就会生成InterfaceController这个文件,它就是我们storyBoard中的入口视图控制器. 二.代码交互与控制器声明周期         storyBoard中的控件我们可以通过拖拽的方式关联到文件中,Action和Outlet两种关联方式基本可以达到我们修改控件和处理

AppleWatch开发入门七——watchOS中通知的应用

AppleWatch开发入门七--watchOS中通知的应用 一.引言         在iOS系统中,支持的通知有两种类型:本地通知和远程通知.本地通知多用于计时类通知,远程的又称推送,多用于一些提示动态的提示信息.这里有相关通知的一些知识总结: 本地推送:http://my.oschina.net/u/2340880/blog/405491. 远程推送:http://my.oschina.net/u/2340880/blog/413584.         在watch中,通知是和iphon

AppleWatch开发入门一——Watch的开发思路与应用框架

AppleWatch开发入门一--Watch的开发思路与应用框架 一.引言         Apple Watch无疑是apple在智能手表领域的一次革命,如何在Watch上开发出实用且具有美感的应用,是iOS开发者们开始思考的一个问题,由于watch的随身性和快捷性,在某些方面,它有比iphone更加大的优势,要抓住watch的这些特点,开发出淋漓尽致的应用,就需要改变一些在iphone开发的思路,正如一句话:只有忘掉经验,才会有意想不到的突破.         这一系列博客,首先是总结我在公

AppleWatch开发入门六——Glance(预览)扩展的应用

AppleWatch开发入门六--Glance(预览)扩展的应用 一.简介         Glance是watchOS中类似iOS的today插件一样的预览扩展.提供了Glance功能的WatchApp可以在手表主页上唤起Glance,展示app相关信息,然而这个扩展只能作为展示作用,并不能进行太多的交互,界面的布局也有很大的限制,因此,Glance的应用主要在于展示备忘信息等.特点如下: 1.扩展的样式布局我们并不能完全个性化,只能通过系统模板来布局. 2.扩展中不能添加交互功能,只能展示信

AppleWatch开发入门八——Watch中图片缓存的处理

AppleWatch开发入门八--Watch中图片缓存的处理         由于iWatch在存储和性能上都和iPhone有着很大的差距,这就要求开发者对程序有更高的性能优化,下载与传输图像,在Watch操作中是一个非时的过程,因此,watchOS中为我们提供了一个缓存图片的框架,并且接口和使用都非常简单.         WatchOS中缓存图片的方法封装在WKInterfaceDevice这个类中,其中添加图片进入缓存的方法如下: ? 1 2 3 4 5 //添加一个UIImage对象进入

Kinect for Windows SDK开发入门(九)骨骼追踪进阶 下

1. 基于景深数据的用户交互 到目前为止我们只用了骨骼数据中关节点的X,Y值.然而Kinect产生的关节点数据除了X,Y值外还有一个深度值.基于Kinect的应用程序应该利用好这个深度值.下面的部分将会介绍如何在Kinect应用程序中使用深度值. 除了使用WPF的3D特性外,在布局系统中可以根据深度值来设定可视化元素的尺寸大小来达到某种程序的立体效果.下面的例子使用Canvas.ZIndex属性来设置元素的层次,手动设置控件的大小并使用ScaleTransform来根据深度值的改变来进行缩放.用