AppleWatch开发教程之Watch应用对象新增内容介绍以及编写运行代码

添加Watch应用对象时新增内容介绍

Watch应用对象添加到创建的项目中后,会包含两个部分:Watch App 和 WatchKit Extension,如图2.18所示。其中,Watch App部分位于用户的iWatch上,它目前为止只允许包含Storyboard文件和Resources文件。在我们的项目里,这一部分不包括任何代码。WatchKit Extension部分位于用户的iPhone安装的对应App上,这里包括我们需要实现的代码逻辑和其他资源文件。

 

图2.18  新增部分

这两个部分之间就是通过WatchKit进行连接通讯,用户点击Watch App后,与Watch匹配的iPhone会启动WatchKit extension,然后和Watch建立连接,产生通信,如图2.19所示。

 

图2.19  通讯

Apple Watch程序的运行

将Watch应用对象添加到创建的项目中后,就可以运行iWatch程序了。运行程序其实很简单,开发者只需要单击运行按钮就可以实现运行了,如图2.20所示。在运行程序前首先对程序进行编译,如果程序正确,会出现一个Build Succeeded字符串,如图2.21所示。如果程序出现错误,那么就会出现一个Build Failed字符串,如图2.22所示。

 

图2.20  运行按钮

 

图2.21  编辑成功                            图2.22  编译失败

在程序编译后,会自动对程序进行连接、运行,运行效果如图2.23和2.24所示。

 

图2.23  运行效果                        图2.24  运行效果

注意:图2.23为iWatch模拟器即Apple Watch模拟器,用来对iWatch应用程序进行显现的。由于没有对程序进行编写,也没有对编辑界面进行设置,所以这时是不会产生任何效果的。图2.24为iOS模拟器,它与iWatch模拟器进行了关联。通常在运行iWatch应用程序时,它都是会出现的。

如果iWatch模拟器不出现,这里提供了两种解决方法:

1.设置运行目标

将运行目标(Set the active scheme)设置为Hello WatchKit App,如图2.25所示。

 

图2.25  设置运行目标

2.设置硬件

选择iOS模拟器,在出现的菜单中选择Hardware|External Displays|Apple Watch-38mm或者是42mm命令,如图2.26所示。

 

图2.26  设置硬件

Apple Watch编程的编辑界面

在2.4.4小节中提到过编辑界面(Interface builder)。编辑界面是用来设计用户界面的,单击打开Interface.storyboard文件就打开了编辑界面。在Xcode 6.2中,编辑界面直接使用的是故事板。本节将对编辑界面进行介绍

1.界面介绍

单击Interface.storyboard打开编辑界面后,可以看到编辑界面会有4部分组成,如图2.27所示。

 

图2.27  界面的组成

其中,这四部分的说明如下:

q  编号为1的部分为导航窗口。

q  编号为2的部分为画布:用于设计用户界面的地方,在画布中用箭头指向的区域就是界面,在画布中可以有多个界面。

q  编号为3的部分为组件窗口的检查器:用于编辑当前选择的对象的属性。

q  编号为4的部分为组件窗口的库:如果选择的是Objects,里边存放了很多的对象。在画布的的界面上方有一个小的dock,它是一个文件管理器的缩写版。

注意:dock展示界面中第一级的控件,每个场景至少有一个Interface Controller

2.设计界面

在2.4.4小节节中提到了由于没有对编辑界面进行设计,所以导致在运行的效果中没有任何内容。本小节将会在iWatch模拟器上显示一个标签。具体的操作步骤如下:

(1打开Hello项目中的Interface.storyboard文件。

(2从对象库中找到Label即标签对象,将其拖动到界面中,如图2.28所示。

 

图2.28  添加标签

此时运行程序,会看到如图2.29所示的效果。

 

图2.29  运行效果

在设计界面时需要注意两点:

(1设计界面尺寸

在图2.26中我们不难看出iWatch模拟器有两种尺寸一个是38mm一个是42mm,对应的编辑界面中的界面也可以将尺寸设置为38mm或者42mm,设置界面尺寸的具体操作步骤如下:

首先,打开Interface.storyboard文件,如图2.30所示。

 

图2.30  设置尺寸1

然后,选择Any Screen Size选项,此时会出现一个对话框,如图2.31所示。

 

图2.31  设置尺寸2

最后选择此对话框中的任意尺寸就实现了界面尺寸的设置。

(2设置对象的风格

开发者可以在打开的Show the Attributes inspector即属性查看器面板中对标签的颜色,字体等进行设置。

Apple Watch的编写代码

代码就是用来实现某一特定的功能而用计算机语言编写的命令序列的集合。现在就来实现通过代码在标签对象中显示“Hello,World”字符串,操作步骤如下:

(1使用设置编辑器的三个视图方式的图标,如图2.32所示,将Xcode的界面调整为如图2.33所示的效果。

 

图2.32  编辑器的三个视图方式的图标

 

图2.33  操作步骤1

(2)按住Ctrl键拖动界面中的标签对象,这时会出现一个蓝色的线条,将这个蓝色的线条拖动到Hello WatchKit Extension文件夹下的InterfaceController.swift文件中,如图2.34所示。

 

图2.34  操作步骤2

(3松开鼠标后,会弹出声明和关联插座变量一起进行的对话框,如图2.35所示。

 

图2.35  操作步骤3

(4将Name设置为label,如图2.36所示。

图2.36  操作步骤4

注意:这里的Name可以是任意的。

(5单击Connect按钮,会在InterfaceController.swift件中看到如图2.37所示的代码。

图2.37  生成的代码

注意:生成的代码叫做插座变量,插座变量其实就是为关联的对象起了一个别名,开发者就可以对此插座变量进行操作,从而对关联的对象进行操作。

(6打开InterfaceController.swift文件,编写代码,此代码实现的功能是将标签中显示的内容变为Hello,World字符串。代码如下:

  • import WatchKit
  • import Foundation
  • class InterfaceController: WKInterfaceController {
  • @IBOutlet weak var label: WKInterfaceLabel!
  • override func awakeWithContext(context: AnyObject?) {
  • super.awakeWithContext(context)
  • // Configure interface objects here.
  •   label.setText("Hello,World")
  • }
  • ……                                        //这里省略了手表控制器即将可见时调用的方法和不再可见时调用的方法
  • }

此时运行程序,会看到如图2.38所示的效果。

图2.38  运行效果

本文选自:Apple Watch开发快速入门教程大学霸资料,转载请注明出处,尊重技术尊重IT人!

AppleWatch开发教程之Watch应用对象新增内容介绍以及编写运行代码的更多相关文章

  1. 【Heritrix基础教程之2】Heritrix基本内容介绍

    1.版本说明 (1)最新版本:3.3.0 (2)最新release版本:3.2.0 (3)重要历史版本:1.14.4 3.1.0及之前的版本:http://sourceforge.net/projec ...

  2. 【Heritrix基础教程之2】Heritrix基本内容介绍 分类: B1_JAVA H3_NUTCH 2014-06-01 13:02 878人阅读 评论(0) 收藏

    1.版本说明 (1)最新版本:3.3.0 (2)最新release版本:3.2.0 (3)重要历史版本:1.14.4 3.1.0及之前的版本:http://sourceforge.net/projec ...

  3. HealthKit开发教程之HealthKit的辅助数据

    HealthKit开发教程之HealthKit的辅助数据 在HealthKit中除了主要数据之外,还有6个辅助数据分别为:体积类型数据.压力类型数据.时间类型数据.温度类型数据.标量类型数据和电导率类 ...

  4. HealthKit开发教程之HealthKit的主要类型数据

    HealthKit开发教程之HealthKit的主要类型数据 在HealthKit中,我们将最常用到的数据称之为主要数据.主要数据基本上有三种:长度类型的数据.质量类型的数据.能量类型的数据.本节将主 ...

  5. iOS 9应用开发教程之ios9中实现按钮的响应

    iOS 9应用开发教程之ios9中实现按钮的响应 IOS9实现按钮的响应 按钮主要是实现用户交互的,即实现响应.按钮实现响应的方式可以根据添加按钮的不同分为两种:一种是编辑界面添加按钮实现的响应:另一 ...

  6. iOS 9应用开发教程之ios9的视图

    iOS 9应用开发教程之ios9的视图 了解IOS9的视图 在iPhone或者iPad中,用户看到的和摸到的都是视图.视图是用户界面的重要组成元素.本节将主要讲解ios9视图的添加.删除以及位置和大小 ...

  7. iOS 9应用开发教程之iOS 9新特性

    iOS 9应用开发教程之iOS 9新特性 iOS 9开发概述 iOS 9是目前苹果公司用于苹果手机和苹果平板电脑的最新的操作系统.该操作系统于2015年6月8号(美国时间)被发布.本章将主要讲解iOS ...

  8. Unity 2D游戏开发教程之2D游戏的运行效果

    Unity 2D游戏开发教程之2D游戏的运行效果 2D游戏的运行效果 本章前前后后使用了很多节的篇幅,到底实现了怎样的一个游戏运行效果呢?或者说,游戏中的精灵会不会如我们所想的那样运行呢?关于这些疑问 ...

  9. iOS 9应用开发教程之ios9中实现button的响应

    iOS 9应用开发教程之ios9中实现button的响应 IOS9实现button的响应 button主要是实现用户交互的.即实现响应.button实现响应的方式能够依据加入button的不同分为两种 ...

随机推荐

  1. 微信智慧KTV上线 不怕周末订不到包厢了

    周末邀三五好友唱唱歌是件惬意的事,可订包厢是个烦心事,总是people mountain people sea,而且价格比平时高出不少.现在好了,微信智慧KTV上线了,将有效解决传统KTV收银时间集中 ...

  2. HDU 4857 Couple doubi(找循环节)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4861 解题报告:桌子上有k个球 ,第i个球的价值wi = 1^i+2^i+...+(p-1)^i (m ...

  3. HDFS深入浅析

    导读 Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有很多共同点.但同时,它和其他的分布式文件系统 ...

  4. maven最齐全配置pom.xml

    0001<project xmlns="http://maven.apache.org/POM/4.0.0"0002 0003xmlns:xsi="http://w ...

  5. 异常:The absolute uri: http://www.springframework.org/security/tags cannot be resolved in either web.xml or the jar files deployed with this application

    The absolute uri: http://www.springframework.org/security/tags cannot be resolved in either web.xml ...

  6. jquery博客收集的IE6中CSS常见BUG全集及解决方案

    今天的样式调的纠结,一会这边一会那么把jquery博客折腾的头大,浏览器兼容性.晚上闲着收集一些常见IE6中的BUG 3像素问题及解决办法 当使用float浮动容器后,在IE6下会产生3px的空隙,有 ...

  7. ENGINE=InnoDB

    最开始用MySQL Administrator建数据库的时候,表缺省是InnoDB类型,也就没有在意.后来用Access2MySQL导数据的时候发现只能导成 MyISAM类型的表 区别如下原来是MyI ...

  8. Spring源码学习(二)AOP

    ----ProxyFactoryBean这个类,这是AOP使用的入口---- AOP有些特有的概念,如:advisor.advice和pointcut等等,使用或配置起来有点绕,让人感觉有些距离感,其 ...

  9. Linux匿名管道与命名管道

    http://blog.chinaunix.net/uid-26000296-id-3408970.html /* * \File * main.c * \Descript * father-proc ...

  10. C++ traits

    [本文链接] http://www.cnblogs.com/hellogiser/p/cplusplus-traits.html [分析] 什么是traits?其实它并不是一个新的概念,上个世纪90年 ...