我有个问题。在“SceneDelegate类”中
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
let url = userActivity.webpageURL
print(url) //result is www.mywebsite.com
}如何将此url传递到我的ViewController?
发布于 2020-12-10 05:52:44
这将取决于您拥有的视图控制器层次结构,但是假设您有一个UITapBarController作为根视图控制器,并且您希望最终获得导航控制器中的视图控制器:
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
let url = userActivity.webpageURL
if let windowScene = scene as? UIWindowScene {
for window in windowScene.windows {
if let rootViewController = window.rootViewController {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
if let yourVC = storyboard.instantiateViewController(withIdentifier: "YourVC") as? YourViewController,
let tabBarController = rootViewController as? UITabBarController,
let navController = tabBarController.selectedViewController as? UINavigationController {
yourVC.data = url
navController.pushViewController(yourVC, animated: true)
}
}
}
}
}更新
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
let url = userActivity.webpageURL
if let windowScene = scene as? UIWindowScene {
for window in windowScene.windows {
if let rootViewController = window.rootViewController {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
if let yourVC = storyboard.instantiateViewController(withIdentifier: "EventViewController") as? EventViewController,
let navController = rootViewController as? UINavigationController {
yourVC.data = url
navController.pushViewController(yourVC, animated: true)
}
}
}
}
}https://stackoverflow.com/questions/65224819
复制相似问题