簡體   English   中英

無法將“MopubBannerAdView”類型的返回表達式轉換為“UIViewController”類型?

[英]Cannot convert return expression of type 'MopubBannerAdView' to return type 'UIViewController?'

我試圖在我的 swiftUI 應用程序中顯示 mopubBanner 並且我正在努力使用我必須在委托中實現的委托方法之一。 我不確定是否可以在這里返回一個 viewController。

不實施此方法會導致橫幅廣告不可點擊。

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
        }
    }
}

我怎樣才能最好地解決這個問題?

您只需要設置呈現視圖控制器,為此您可以使用窗口 rootVC 例如

  func viewControllerForPresentingModalView() -> UIViewController! {
       return  UIApplication.shared.windows.filter {$0.isKeyWindow}.first?.rootViewController
   }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM