WatchKit 的 WKInterfaceTable 简单使用
来源:互联网 发布:帝王三国破解版无网络 编辑:程序博客网 时间:2024/05/22 00:37
转自:http://nonomori.farbox.com/post/watchkit-de-wkinterfacetable-jian-dan-shi-yong
WKInterfaceTable 类似 UITableView, 其用途即展示一个表格并且用户可以与之交互。但不同的是 WKInterfaceTable 的功能更加简单,使用上也很粗暴直接。
本文一步步演示了创建一个简单的包含 WKInterfaceTable 的 Apple Watch App!
我们首先按照老办法,创建一个 Single View Application 模板的 iOS 应用。
工程创建好后,点击 File -> Add -> Target,选择 Apple Watch 标签下的 Watch App。Xcode 会添加一个工程名 Watch App 目录。同时,运行 Watch App 的 scheme 也会被添加。
选中 Watch App 的 scheme,编译运行。模拟器并不会同时启用 Apple Watch 模拟器,需要点击 Hardware -> External Displays -> Apple Watch。
Watch App 成功运行。
接下来就是添加 WKInterfaceTable。
点击 Watch App 目录下的 storyboard,拖拽一个 WKInterfaceTable 到界面上。然后拖一个 table 的 outlet 到 InterfaceController 上,我们命名为 tableView。
不同于 UITableView 每一个 Cell 的原型对应一个 UITableViewCell,WKInterfaceTable 是使用 TableRowController 作为原型,其就是 NSObject。
我们在 Watch Extension 目录添加一个继承自 NSObject 的类,取名 RowType,将 storyboard 中的 RowController 的类改为刚创建的 RowType,并且赋一个 identifier:rowType。
拖拽一个 WKInterfaceLabel 到 row 上,同样拖一个 outlet 到 RowType。注意,要在 RowType 上添加 WatchKit 模块:
import UIKitimport WatchKitclass RowType: NSObject { @IBOutlet weak var labelNumber: WKInterfaceLabel!}
接下来就是告诉 table 有多少数据,该如何展示了。我们直接在 willActivate 方法中对 table 进行初始化。
不同于 UITableView 还需要写 DataSource 方法回调,WKInterfaceTable 非常简单,直接使用setNumberOfRows:withRowType 方法定义行数与 row 原型。这里 RowType 就是 RowController 的 identifier。对每个 row 进行配置也是通过 rowControllerAtIndex 方法遍历得到每一个 rowController,依次配置。
override func willActivate() { super.willActivate() //设置行数与原型类型 self.tableView.setNumberOfRows(10, withRowType: "rowType") //遍历,获取每一个 rowController,配置 for i in 0..<self.tableView.numberOfRows { let row: RowType = self.tableView.rowControllerAtIndex(i) as RowType row.labelNumber.setText("\(i)") } }
运行,得如下结果:
接下来是定义交互,我们需要点击某一行的回调,这里很像 UITableView 的 didSelectRowAtIndex, 我们直接在 InterfaceController 中添加 table:didSelectRowAtIndex 方法。
override func table(table: WKInterfaceTable, didSelectRowAtIndex rowIndex: Int) { NSLog("\(rowIndex)")}
运行:
至此,一个简单的包含 WKInterfaceTable 的 Watch App 就完成了。
- WatchKit 的 WKInterfaceTable 简单使用
- WatchKit 的 WKInterfaceTable 简单使用
- WatchKit入门:创建一个简单的猜数游戏
- WatchKit入门:创建一个简单的猜数游戏
- WatchKit入门:创建一个简单的猜数游戏
- WatchKit入门:创建一个简单的猜数游戏
- WatchKit Apps的Images
- WatchKit的table
- WatchKit的代理与上下文
- WatchKit中隐藏的5个细节
- 开发者总结的WatchKit App提交技巧
- 关于开发WatchKit App 的建议:
- WatchKit编程指南:Glance--管理你的Glance界面
- 初探WatchKit,开发者必须知道的6件事!
- WatchKit控件叠加达到类似addSubview的效果
- WatchKit Framework
- 初识WatchKit
- ****初识WatchKit*****
- 20. 顺时针打印矩阵
- 设计模式:单例模式的写法(基础写法和线程安全写法)
- Flatten Binary Tree to Linked List
- vijos p1686 爱国者的周期
- 在Python的Django框架中加载模版的方法
- WatchKit 的 WKInterfaceTable 简单使用
- AOS应用基础平台-模块开发流程
- hdu 1598 find the most comfortable road 并查集
- Spring 开发笔记
- Spring MVC+FreeMarker实现页面按钮权限控制1
- ueditor百度文本编辑器初值
- hdu 1217
- Traking-Learning-Detection TLD经典论文部分翻译
- View的绘制流程