WatchOS系统开发大全(5)-WKInterfaceController的生命周期
1.1-简介
WKInterfaceController是我们开发Watch App的核心类,它的地位和之前使用的UIViewController一样。
每一个Watch App构建时,至少需要在Storyboard上设置一个WKInterfaceController实例作为程序入口。我们可以在Storyboard上使用Main Entry Point设置。
当用户launch了Watch App时,Watch OS 会开始加载程序中的Storyboard。我们在Storyboard中为每一个WKInterfaceController设置的响应事件,会在用户触发时在WatchKit Extension中响应。我们可以像以前一样push, pop, present 目标WKInterfaceController。
1.2-生命周期
1.3-框架
(1)当Watch OS加载App中的Storyboard时,iPhone端也会开始加载对应的WatchKit Extension。
(2)当Watch OS开始初始化我们Watch App的Storyboard中的UI时,iPhone端WatchKit Extension会生成对应的WKInterfaceController,并且响应initWithContext:方法。
(3)当Watch OS显示当前加载的UI时,WatchKit Extension中对应的WKInterfaceController响应willActivate方法。
(4)当用户切换页面或者停止使用时,WatchKit Extension中对应的WKInterfaceController响应didDeactivate方法。
1.4-使用
从上图可知这三个API,对应了Watch OS加载一个视图控制器的三个状态。我们在自己的WKInterfaceController类中,应该实现这三个API用来处理不同的情况:
- initWithContext: 我们可以在这里加载数据或者更新在StoryBoard中当前Controller添加的interface objects。
- willActivate 我们可以在这里更新interface objects或者处理其他事件
- didDeactivate 我们应该在这里清理task或者数据。在这里更新interface objects将会被系统忽略。
WatchOS系统开发大全(5)-WKInterfaceController的生命周期相关推荐
- WatchOS系统开发大全(4)-WatchApp生命周期
WatchOSAPP生命周期 1.1-简介 WatchOS2.0之后的工程与WatchOS1.0的工程有什么不同之处? 创建的方式不同 2.0的工程多了一个文件:ExtensionDelegate 0 ...
- WatchOS系统开发大全(1)-AppleWatch背景介绍
AppleWatch背景 前言 苹果从2014年推出AppleWatch设备至今已经三个年头,笔者作为国内第一批AppleWatch的用户(购买的是2014年3月份预定的第一代苹果手表)以及第一批Wa ...
- WatchOS系统开发大全(8)-WKInterfaceGroup
1.1-简介 1.1.1 WatchApp的storyboard中控件的布局规则 一行只能显示一个控件,无法将一个控件拖到另一个控件的左边或者右边. 1.1.2 如果想让一行显示多个控件,应该怎么办? ...
- WatchOS系统开发大全(3)-创建第一个WatchApp工程
创建第一个WatchApp工程 1.1-WatchOS2.0之后工程的创建 (1)点开xcode新建一个工程,选择Watch OS直接建一个Watch应用,点击next输入项目名称进行下一步 因为Wa ...
- WatchOS系统开发大全(2)-WatchApp运行原理
WatchOS与iPhone交互框架 1.1-简介 我们都知道,一个App主要由两部分组成,一个是界面UI部分,一个是代码逻辑部分 在Wach OS1.0的Watch App中,界面UI是编译在App ...
- WatchOS系统开发大全(7)-WKInterfaceImage
WKInterfaceImage 1.1-简介 WKInterfaceImage与iOS的UIKit框架中UIImageView一样,是一个显示图片的控件. 1.2-API介绍 WKInterface ...
- WatchOS系统开发大全(6)-WKInterfaceLabel
WKInterfaceLabel 1.1-简介 WKInterfaceLabel与iOS的UIKit框架中UILabel一样,是一个显示文本的控件. 1.2-API介绍 WKInterfaceLabe ...
- 【Android 应用开发】UI绘制流程 ( 生命周期机制 | 布局加载机制 | UI 绘制流程 | 布局测量 | 布局摆放 | 组件绘制 | 瀑布流布局案例 )
文章目录 一. 博客相关资料 及 下载地址 1. 代码查看方法 ( ① 直接获取代码 | ② JAR 包替换 ) 2. 本博客涉及到的源码查看说明 二. Activity 生命周期回调机制 1. An ...
- iOS初级开发学习笔记:APP生命周期的学习总结
我们平常使用APP时,一般人都会知道有:简单的正在使用状态:通过home键等方式离开应用,但是不关闭应用,即后台状态:以及调出后台程序管理后向上滑动将应用"杀死",三种状态.而我们 ...
最新文章
- Swift 圆环进度条
- 何恺明团队最新力作:超越EfficientNet,GPU上提速5倍|CVPR 2020
- sybase笔记 2762错误
- python程序员工作怎样-12个Python程序员面试必备问题与答案(小结)
- 阿里巴巴超大规模 Kubernetes 基础设施运维体系
- php正则表达式匹配img中任意属性的方法
- 云原生时代的“精益实践”:企业效能提升10倍“杀手锏
- 线性表(代码、分析、汇编)
- 【从入门到放弃-ZooKeeper】ZooKeeper实战-分布式队列
- NLP算法求建议 | 腾讯 VS 美团
- 高中生物神经系统的组成,初中生物神经系统考题
- 用matlab绘制动态心形图
- excel中条形图的条目排序与逆序
- 寻找全排列的下一个数
- 盒子模型(标准盒子和怪异盒子)
- ubuntu18.04安装opencv viz模块
- 在QQ通讯录之前拦截短信
- Eclipse3.5+mtj1.0+WTK2.5配置J2ME开发环境
- 【Java算法之dfs 与bfs详解】
- 自动化办公系统(整理中)
热门文章
- java web netty_基于Netty的非Servlet规范 JavaWeb框架及高性能 Java服务器
- 高级php程序员面试题2019,2019最新PHP模拟面试题及答案
- phantomjsjava_Java利用Phantomjs实现生成图片的功能
- 三十八、Java集合中的ConcurrentHashMap
- 八十八、Webpack打包工具
- leetcode 刷题142 143
- 目标检测Workshop | COCO三连冠带你探索检测新世界
- 推翻Hinton NeurIPS论文结论!审稿人评价:该文章在标签平滑和知识蒸馏的关系上取得了重大突破!...
- 我们做了一个医疗版MNIST数据集,发现常见AutoML算法没那么好用
- 【面试必备】通俗易懂的XGBoost、Transformer、BERT、水波网络原理解析