gpt4 book ai didi

swift - 从 SwiftUI 推送到 UIKit 后的导航栏项目

转载 作者:行者123 更新时间:2023-12-03 22:44:13 25 4
gpt4 key购买 nike

我有一个 SwiftUI NavigationView ,我在其中推送到符合 UIViewControllerRepresentableUIViewController 。导航 View 自然会添加后退按钮。但是,我在推到 View Controller 中设置的所有导航栏按钮也不见了。

添加项目的代码并不新鲜,如果我从一个好的 UIKit View Controller 推送,它就可以正常工作:

navigationItem.rightBarButtonItem = UIBarButtonItem(image: searchImage, style: .plain, target: self, action: #selector(filterItemTapped(button:)))

我的理论是他们没有在 NavigationView 和 UIViewController 的导航项之间建立桥接,但也许有人知道一种解决方法。

最佳答案

在您的 UIViewControllerRepresentable 中,用 UIViewController 包装您的 UINavigationController

struct CustomUIViewControllerRepresentation: UIViewControllerRepresentable {
typealias UIViewControllerType = UINavigationController

func makeUIViewController(context: Context) -> UINavigationController {
let viewController = CustomUIViewController()
let navigationController = UINavigationController(rootViewController: viewController)
return navigationController
}

func updateUIViewController(_ uiViewController: UINavigationController, context: Context) {

}
}

关于swift - 从 SwiftUI 推送到 UIKit 后的导航栏项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57124602/

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