您的位置:首页 > 移动开发

3D-Touch快速启动APP,并push到指定VC以及无限压栈的问题

2016-09-08 15:28 134 查看
3D-Touch快速启动应用,并push到指定页面,我并不怎么用这个,昨天从朋友那听说无限压栈的问题,我才试了试,其实情况是这样的:以 企鹅 举例,



点击”扫一扫“,进入扫码页面,然后回到桌面,再次3D-Touch,点击”扫一扫“,进入扫码页面,如图:



然后我们pop到上一页,发现又是一个扫码页面,再pop才是主页面,我曹,这很尴尬,然后去试了试微信,美团外卖,支付宝。。。很多,没问题,我觉得可能不止企鹅一个APP,下面有一个解决方式:

思路:

快速启动后,在下面回调中,做一些判断,

1、如果要推出的vc所在的tab与当前tab的index不同,先切换tab;

2、如果当前的navigationVC下的topViewController不是rootVC,pop到rootVC;(注意:如果想快速进入时,可以看到push的动画,pop的animation要=true,如果想进入直接看到推出的页面,animation要=false)

3、如果要推出的vc与当前的navigationVC下的topViewController相同,不做任何操作;否则push;

func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void) {

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息