如何解决是否可以通过使用URLScheme从一个ViewController迁移到另一个ViewController?
我正在研究一个项目,用户可以从外部打开应用程序并显示ProductViewController(这是一个ViewController,它显示该产品的部分名称,模式,价格和...等信息),我使用了AppDelegate中的func:
func application(_ app: UIApplication,open url: URL,options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool
我想在应用程序中放置一些快捷方式按钮,当用户点击该按钮时,也可以在ProductViewController中访问相同的产品。(想象一个用户一次使用某个产品后,我会放置一些快捷方式,以便用户可以快速找到该产品)我知道我可以通过使用以下代码来做到这一点:
let productVC = ProductViewController()
present(productVC,animated: true)
但是我想知道我可以使用那部分代码(在AppDelegate内部也可以这样做)。 我不想同时使用两种方法来完成一项工作。
解决方法
是的,您可以在应用程序调用openURL(或更确切地说是application(_:open:options)
)中包含一个带有调用私有URL方案的URL的按钮。然后,让您的应用程序代表对URL进行解码,找出URL指定的视图控制器,然后打开该视图控制器。
只需让您的按钮的IBAction用您的自定义URL调用application(_:open:options)
。您可以使用类似这样的内容:
myApp://open?VC=ProductViewController
open是您的应用要查找的动词,用于告诉它打开视图控制器,而VC
查询参数则告诉它要打开哪个VC。
您到底需要什么帮助?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。