gpt4 book ai didi

ios - 在聚光灯搜索后显示详细 View Controller

转载 作者:行者123 更新时间:2023-11-29 05:57:41 25 4
gpt4 key购买 nike

在最近的一个项目中,我实现了聚光灯搜索,一切正常(我使用了 UINavigationController)。现在,我正在重新搜索另一个项目,该项目不包含 UINavigationController,而只包含两个 UIViewController。同样在这种情况下,除了在聚光灯搜索中按下特定项目时重定向到详细 View Controller 之外,一切都工作正常。我发现问题出在这个方法中,这是因为我没有使用 UINavigationController。所以我的问题是,如何更改此代码以仅与我的两个 UIViewController 一起使用?

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Swift.Void) -> Bool {

let navController = self.window!.rootViewController as! UINavigationController

if let actID = userActivity.userInfo!["kCSSearchableItemActivityIdentifier"] as? String {
let ricette = DataManager.shared.arra.filter { $0.id.uuidString == actID }
if let ricetta = ricette.first {
debugPrint("Abbiamo la ricetta grazie all'ID")

if let listController = navController.topViewController as? ListController {

if let posizione = DataManager.shared.arra.index(of: ricetta) {
listController.showDetailFromSpotlightSearch(posizione)
}

} else if let ricettaController = navController.visibleViewController as? RicettaController {
ricettaController.ricetta = ricetta
ricettaController.aggiornaInterfaccia()
}

} else { debugPrint("errore ID") }
} else { debugPrint("errore ID") }

return true
}

最佳答案

您应该使用这两个扩展来确定topViewController和visibleViewController:

extension UIApplication {
class func getVisibleViewController(_ rootViewController: UIViewController? = UIApplication.shared.keyWindow?.rootViewController) -> UIViewController? {
if let presentedViewController = rootViewController?.presentedViewController {
return getVisibleViewController(presentedViewController)
}

return rootViewController
}}

extension UIApplication {
class func topViewController(controller: UIViewController? = UIApplication.shared.keyWindow?.rootViewController) -> UIViewController? {
if let presented = controller?.presentedViewController {
return topViewController(controller: presented)
}
return controller
}}

关于ios - 在聚光灯搜索后显示详细 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54989239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com