App Watch 简单入门
2016-07-31 本文已影响249人
Mg明明就是你
-
github
项目 | 简介 |
---|---|
MGDS_Swif | 逗视视频直播 |
MGMiaoBo | 喵播视频直播 |
MGDYZB | 斗鱼视频直播 |
MGDemo | n多小功能合集 |
MGBaisi | 高度仿写百思 |
MGSinaWeibo | 高度仿写Sina |
MGLoveFreshBeen | 一款电商App |
MGWeChat | 小部分实现微信功能 |
MGTrasitionPractice | 自定义转场练习 |
DBFMDemo | 豆瓣电台 |
MGPlayer | 一个播放视频的Demo |
MGCollectionView | 环形图片排布以及花瓣形排布 |
MGPuBuLiuDemo | 瀑布流--商品展 |
MGSlideViewDemo | 一个简单点的侧滑效果,仿QQ侧滑 |
MyResume | 一个展示自己个人简历的Demo |
GoodBookDemo | 好书 |
Snip20161026_16.png
Snip20161026_35.png
-
2、逗视:逗你玩的直播App,可下载试玩
-
看下效果
逗视介绍2.gif
一、创建项目
- 最简单的hello world
- 项目结构
+ Extension:位于用户的iPhone安装了对应的App上,包含我们需要实现的代码逻辑和其他的资源文件
+ watch app:目前只允许包含storyboard文件和resource文件
+ InterfaceController:当前界面的控制器
- 与UIViewController的区别是:InterfaceController最终`继承的是NSObject`
- InterfaceController`不会管理Watch APP的应用界面`
- Watch APP的`界面是直接由Watch Kit来管理`
+ NotificationController:当前APP的通知
二、apple Watch的生命周期方法
- apple Watch启动原理
- 用户点击Watch APP后,与Watch匹配的iPhone会启动extension,然后与Watch建立连接,产生通信
- NotificationController:
- Watch OS提供了默认的通知显示,当用户点击通知进入APP时,就会调用以下两个方法
- (void)handleActionWithIdentifier:(NSString *)identifier forLocalNotification:(UILocalNotification *)localNotification
{
}
- (void)handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)remoteNotification
{
}
- 通过这两个方法获得通知的消息,跳转到目标界面
- 在NotificationController中可以实现以下两个方法
- (void)didReceiveLocalNotification:(UILocalNotification *)localNotification withCompletion:(void (^)(WKUserNotificationInterfaceType))completionHandler {
}
- (void)didReceiveRemoteNotification:(NSDictionary *)remoteNotification withCompletion:(void (^)(WKUserNotificationInterfaceType))completionHandler {
}
- 获得通知内容,并设置处理完成的回调Block```
- `init`:用来初始化interface Controller
- `awakeWithContext`:类似UIViewController中的viewDidLoad方法,用来配置interface Controller
- `willActivity`:界面将要显示给用户时会被调用,主要用来对试图进行一些小的调整,大规模的初始化还是放在init和awakeWithContext
- `didDeactivate`:用来清空界面,程序进入不活动状态,可以用它来终止Timer或者来停止动画,这个方法不能再对界面进行操作
- command + L锁定屏幕
![生命周期](https://img.haomeiwen.com/i1429890/40caa2f37bdd9c94.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
***
###三、控制器
* 控制器的跳转
- 使用storyboard
- 使用代码的方式
![](https://img.haomeiwen.com/i1429890/80a1ff6335ccef9b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
- push
![Snip20160730_25.png](https://img.haomeiwen.com/i1429890/aaab2e2b42871a75.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
- model
![Snip20160730_26.png](https://img.haomeiwen.com/i1429890/5fe74ad93ca542e3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
***
#四、控件的基本使用
* 标签
- 属性:
+ installed:是否安装这个控件
+ horizontal:水平方向如何显示
+ vertical:垂直方向如何显示
+ size:
+ 自适应自身的宽高
+ 与当前的界面的等宽高
+ 设置固定宽高
+ adjustment:调整控件的值
* 按钮
- 改变label的文字
* 图片
- 显示一张图片
- #####控件的布局
* group:一组是一个容器,它管理着在你的界面的其他视图的布局。可以指定背景颜色或图像来显示后面的组中的项目。
###1.WKInterfaceLabe
![](https://img.haomeiwen.com/i1429890/038f89007a64d972.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![WKInterfaceLabe](https://img.haomeiwen.com/i1429890/acfdd8b3dcf78d12.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
###2.WKInterfaceButton
![WKInterfaceButton](https://img.haomeiwen.com/i1429890/1c1c6c308d27c326.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
###3.WKInterfaceImageView
![](https://img.haomeiwen.com/i1429890/8a25d6e69b7e8781.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![WKInterfaceImageView](https://img.haomeiwen.com/i1429890/2009022512bff310.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
###4.nextPage
![nextPage](https://img.haomeiwen.com/i1429890/b5420aa513232db0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
###5.WKInterfaceDevice
![](https://img.haomeiwen.com/i1429890/d376b5b245470881.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![WKInterfaceDevice](https://img.haomeiwen.com/i1429890/ae4c96fd6d4e17cf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
###6.数据共享
![](https://img.haomeiwen.com/i1429890/30fc128f586a7ddc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://img.haomeiwen.com/i1429890/90b4b576db67aae8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://img.haomeiwen.com/i1429890/48666900b24a0734.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![数据共享](https://img.haomeiwen.com/i1429890/69d2926b41ceff3c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
###7.pickerView
![pickerView](https://img.haomeiwen.com/i1429890/761237d9cb551560.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
###8.tableView
![tableView](https://img.haomeiwen.com/i1429890/6d718cea82dd2c70.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
###9.AlertView
![AlertView](https://img.haomeiwen.com/i1429890/a06dbbd628ba11e9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
###10.文本框的快速回复
![文本框的快速回复](https://img.haomeiwen.com/i1429890/9766a35e1cb41044.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)