Swift 无法转换类型为';MopubBannerAdView';返回类型';UIViewController?&x27;
我试图在我的swiftUI应用程序中显示mopubBanner,我正在努力解决我必须在委托中实现的委托方法之一。我不确定是否可以在这里返回viewController 未实现此方法将导致无法单击横幅广告Swift 无法转换类型为';MopubBannerAdView';返回类型';UIViewController?&x27;,swift,swiftui,banner,mopub,Swift,Swiftui,Banner,Mopub,我试图在我的swiftUI应用程序中显示mopubBanner,我正在努力解决我必须在委托中实现的委托方法之一。我不确定是否可以在这里返回viewController 未实现此方法将导致无法单击横幅广告 import MoPub struct MopubBannerAdView: UIViewControllerRepresentable { typealias UIViewControllerType = UIViewController func makeUIViewC
import MoPub
struct MopubBannerAdView: UIViewControllerRepresentable {
typealias UIViewControllerType = UIViewController
func makeUIViewController(context: Context) -> UIViewController {
return MopubBannerViewController()
}
func updateUIViewController(_ uiViewController: UIViewController, context: Context) {
}
func makeCoordinator() -> Coordinator {
Coordinator(self)
}
class Coordinator: NSObject, UINavigationControllerDelegate, MPAdViewDelegate {
private let parent: MopubBannerAdView
init(_ mopubView: MopubBannerAdView) {
self.parent = mopubView
}
func viewControllerForPresentingModalView() -> UIViewController! {
return self.parent /// this line here throws the error
}
}
}
如何才能最好地解决这个问题?您只需设置演示视图控制器,为此,您可以使用Windows rootVC,例如
func viewControllerForPresentingModalView() -> UIViewController! {
return UIApplication.shared.windows.filter {$0.isKeyWindow}.first?.rootViewController
}