WKInterfaceImage-官方文档译文

2020-03-07  本文已影响0人  BinaryBang

类 WKInterfaceImage

能够在watchOS应用的界面中显示图片的控件.

声明

@interface WKInterfaceImage:WKInterfaceObject

概述

在watchOS应用中显示的图片可以是静态或者动态的.使用WKInterfaceImage对象来指定你要显示的图片数据,并控制图片的动画.
不要自己子类化或者创建该类的实例.你应该这样做,在创建的界面控制器的类中定义输出口,然后将之和故事板文件中的相应对象连接起来.比如,为了在界面中引用一个图片对象,你先在你的界面控制器中用以下语法定义一个属性:

@property (weak, nonatomic) IBOutlet WKInterfaceImage* myImage;

在你的界面控制器初始化的时候,WatchKit会创建所有需要的图片对象,然后将他们分配给他们关联的输出口.这个时候,你可以使用那些对象对界面上的图像进行更改.
你在界面上使用的图片可能是在手表应用的包内的,可能是动态创建的,或者是总网络上下载的.手表应用包内的图片,表示这些图片是你的应用的用户界面的一部分,和应用文件存放在一起.下载或者动态创建的图片,存放于内存中或者以文件的形式存放于WatckKit扩展的容器目录内.WKInterfaceImage类提供了好几种设置方法,来让你的图片显示到屏幕上,不管他们存放于什么位置.

图片管理

你在界面上使用的图片可能存放于不同的地方,那么你加载和管理这些图片就有不同的方法:

创建图像时,请始终以适合基础设备的大小创建图像。尽可能使用相同大小的图像,而不考虑底层设备。如果您需要不同设备大小的不同图像,请使用资产目录使用相同的图像名称存储不同版本的图像。如果指定的图像太大或太小,WatchKit将使用在Interface Builder中设置的mode属性来确定如何渲染图像。

支持的图片格式

你可以使用任何iOS支持的图片格式,但是还是建议尽可能的使用JPEG和PNG格式的图片.
使用JPEG或者PNG之外的图片,在渲染图片的时候可能会影响性能.所有图片应该是用于视网膜屏的,一个名为filename的图片,都应该有一个filename@2x的图片对应.

更多关于支持的图片格式的信息,请参考UIImage.

播放图片序列

使用动态图像,是让你界面更生动,更吸引用户的简单而有效的方法.你可以使用两种方式来显示动态图像:

要根据根据资源目录中的图片来显示动态图像,你需要将照以下约定来命名图片资源:<name><number>,<name>是这一个图片序列中都一样的,<number>表示该图片在该序列中的序号.一个图片序列中的第一张图片的序号应该是0或者1.比如,一个动态图像包含3个图片,他们的名字可以是:image1,image2,image3.如果你没有把图片文件放在手表应用包的资源目录中,图片序列的命名规则是一样的,但是他们需要有同样的文件扩展名,比如:image1.jpg,image2.jpg,image3.jpg.

尽可能将图片资源放在手表应用包(不是手表应用扩展包)的资源目录中.把图片放在手表应用包中,你可以使用setImageNamed:方法来在运行时加载动画图片,这样就简化了加载过程.对于动态生成的动画图片序列,使用UIImage的animatedImageWithImages:duration:方法来将手表应用扩展中的动画图片整合到一起,然后用setImage:方法来设置动画图片.

注意
你不能使用UIImage的animatedImageWithImages:duration:方法来从手表应用包中创建动画图片.该方法在活动进程的包(WatchKit extension’s bundle)中查找图像。若要从Watch app bundle中的图像加载动画图像序列,必须正确地命名图像资源并使用此类的setImageNamed:方法来显示。

要了解如何创建动画图像的更多信息,请参考UIImage中的animatedImageNamed:duration:and animatedImageWithImages:duration:方法.

Interface Builder配置选项

Xcode提供了在stroyboard文件中,配值WKInterfaceImage对象的方法.表1列举了可以配置的属性,以及这些属性所代表的意义.

Table 1 WKInterfaceImage可设置属性

属性名 描述
Image 要展示的图片的名称.该图片文件必须位于Watch app's bundle.如果不在故事版中设置图片,可以通过该类的一些方法在程序中设置.
Mode 图片内容显示模式.mode定义了图片如何填充整个用于显示的空间.一些模式可以让你缩放时保持或者不保持纵横比.其他的模式,让你可以相对于WKInterfaceImage对象的边界中的某些固定点对图片进行定位.
Tint 应用于模板图片的颜色.你可以在程序中使用setTintColor:方法来改变tint color.该属性对于动画图片和非模板图片来说没有效果.
Animate 表明该图片是否可以动画的布尔值.设置YES来配置动画参数,包括持续时间(秒),是否在父界面控制器显示在屏幕上时,就立即开始动画.在加载时就开始的动画会不断循环播放.

主题

配置图片

关系

父类

WKInterfaceObject

协议

WKImageAnimatable

相关资料

图片和视频

Preference

WKInterfaceImage-苹果官方文档

上一篇下一篇

猜你喜欢

热点阅读