Apple Watch开发(三)--WatchKit简介和Watch适配、布局

 

       上篇简单介绍了创建了一个Apple Watch开发的project的过程,那么对于新生成的文件有什么用呢?老项目怎么适配Apple Watch呢?下面我就来简单介绍下WatchKit和Watch项目中的文件作用、及其布局特点。

 

一、 旧项目适配Apple Watch

       普通老项目可以添加Apple Watch吗?需要注意什么?有些人直接在旧的项目中,按照上篇写的那样去添加一个Apple Watch的Target,但是一编译发现出错了,报错如下:

error:WatchKit apps must have a deployment target equal to iOS 8.2 (was 8.3).

       看到错误,顾名思义,我们去修改下Watch app对应的deployment target版本就行了,具体如下图:

技术分享

 

二、项目简介

       上篇中我们创建完项目后发现它给自动创建了几个storyboard,选中Interface.storyboard,右边会发现有四种storyboard,即我们第一篇中所说的三种交互方式或者说界面类型:Watch app、glance、notification(静态、动态)

技术分享

 

       而我们回到Extension代码部分,选中InterfaceController.h文件,我们发现这里已经没有之前的UIKit框架了,而是WatchKit,之前的UIView之类的在这都不好使了,而是一套新的布局方式;和UIViewController类似,这里也有控制器,但是它继承自WKInterfaceController,它是NSObject的子类,和UIViewController没有任何关系:

技术分享技术分享

        这也证实了我们第一篇时所说的Apple Watch和iPhone的联动绑定关系:

技术分享

 

三、Watch消息提醒

       另外我们点击PushNotificationPayload.apns文件,会发现是一个json字符串,里面的key关键字,相信你们并不陌生,没错这就是配置notification界面的配置文件,有消息提示内容和按钮的标题等;

技术分享

        另外我们看下notification类型的界面,分为静态的和动态的,静态是按照我们配置的内容提示的,而动态是根据app推送的消息显示的:

技术分享

        那么notification的界面运行原理为:

技术分享

技术分享

 

四、WatchKit简介

        我们选中选中InterfaceController.m文件,会发现里面自动生成的方法和我们之前的UIViewController类似,如图分别可以看做UIViewController的init,viewDidLoad, viewWillAppear, viewDidUnload:

技术分享

        他们的运行原理也类似:

技术分享

       

         那么在WatchKit中大体上有哪些类呢?在官方文档中我们可以看到如下几个类及其介绍:

技术分享

       

         WatchKit刚刚兴起,还有很多需要完善和扩展,当前在Watch开发中用到的组件不多,主要有以下组件:

技术分享          技术分享

 

五、Watch的布局方式

       下面简单介绍下Watch app组件的布局特点,他们的布局类似Android或网页的相对布局,分为:左中右、上中下的布局;

技术分享

        强行手动拖动组件的位置是没用的,必须在右侧进行位置的设置:

技术分享

       因为Watch app的界面布局都是storyboard布局的,所以一些组件和代码的关联就和以前用xib时一样了,不过这些控件生成的方法与之前有些不一样,比如按钮的方法是不带参数的,下面这些常用组件生成的方法:

技术分享

 

(转载请注明:http://blog.csdn.net/yujianxiang666)

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。