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

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) {

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值