iWatch开发 | iWatch页面转场的3种方式 学会导航,

2020-03-17  本文已影响0人  BinaryBang

一个应用是由很多个页面构建起来的,每个页面负责单一的功能,共同组成了整个app.
页面之间的组合,有以下4种基本结构:

在iWatch界面中,由于内容空间有限,所以没有标签结构的页面.

每种结构的页面之间,有着对应的转场方式:
模态结构的页面,用Present方式转场;
树形结构的页面,用Push方式转场;
平铺结构的页面,用Reload方式转场;

下面,我们分别介绍这3种转场方式.

1 Present

present的效果如下:

转场效果:自下而上弹出
是否有默认的返回按钮:有
适合结构:模态结构
代码实现:

/*
name:在Storyboard中,目标控制器的名字;
context:需要传递给控制器的参数,该参数在控制器的- (void)awakeWithContext:(id)context方法中能获取到.
*/
- (void)presentControllerWithName:(NSString *)name context:(nullable id)context;

手动返回的方式:

- (void)dismissController;

2 Push

push的效果如下:

image

转场效果:源控制器从左至右退出,显示目标控制器;
是否有默认的返回按钮:有
适合结构:树形结构
代码实现:

/*
name:在Storyboard中,目标控制器的名字;
context:需要传递给控制器的参数,该参数在控制器的- (void)awakeWithContext:(id)context方法中能获取到.
*/
- (void)pushControllerWithName:(NSString *)name context:(nullable id)context;

手动返回的方式:

- (void)popController;

3 Reload

Reload的效果如下:

转场效果:直接显示
是否有默认的返回按钮:无
适合结构:平铺结构
代码实现:

/*
names:在Storyboard中,目标控制器的名字,可以指定多个,然后用平铺的方式展现.
context:需要传递给控制器的参数的数组,与控制器名称一一对应.
orientation:目标控制器平铺的方式,水平还是竖直的.
pageIndex:跳转过去之后,首先显示的控制器的序号.
*/
WKInterfaceController的类方法:
+ (void)reloadRootPageControllersWithNames:(NSArray<NSString*> *)names contexts:(nullable NSArray *)contexts orientation:(WKPageOrientation)orientation pageIndex:(NSInteger)pageIndex;

手动返回的方式:
首先用一个变量存储上一次源控制器的名字,然后用该方法重新跳转过去.

注意:

5 总结

本文介绍了iWatch的3种页面转场方式,每个转场方式被设计出来,是为了适用于不同结构的页面之间的过渡.

Present和Push中自带的返回按钮,是隐藏不掉的,如果不需要系统提供的返回按钮,那就只能使用Reload的方式来过渡了.

项目源代码放到百度网盘上了:

链接:https://pan.baidu.com/s/19DeagLAGN1mpx-c_pJb7vQ
密码:48e7

精彩推荐

iOS | iWatch开发 没有转圈的数据请求 是没有灵魂的
MySql | 存储过程(基础) 老板要我一天统计的数据,我3分钟做完了
iOS | app签名 图解苹果app签名流程,深入分析 表弟:我也看懂了!
密码学 | 数字签名 让情敌送情书,网友:心太大了...

上一篇 下一篇

猜你喜欢

热点阅读