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

}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010731949/article/details/52469952
个人分类: iOS
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭