【发布时间】:2020-04-10 02:44:52
【问题描述】:
在 SWIFTUI 中编码
我在我的 SwiftUI 应用程序中实现了一个设置页面,该页面在单击视图中的按钮时显示。这个视图被包裹在一张纸中。可以看下面的代码:
TabsBar(showOptionsTab: $showOptionsTab)
.sheet(isPresented: $showOptionsTab)
{
OptionsTab(showOptionsTab: self.$showOptionsTab)
}
我在此“OptionsTab”中实现了一个插页式广告,该插页式广告是在 .onAppear() 调用中加载选项选项卡时创建的,并在选择后退按钮时显示。您可以从下面的 OptionsTab 中获取代码:
@State private var interstitial : GADInterstitial!
VStack
{
... other code
Button(action:
{
if ( self.interstitial.isReady)
{
let root = UIApplication.shared.windows.first?.rootViewController
self.interstitial.present(fromRootViewController: root!)
}
self.showOptionsTab.toggle()
})
{
Image(systemName: "xmark")
.font(.largeTitle)
}
}
.onAppear
{
self.interstitial = GADInterstitial(adUnitID: "addID")
let req = GADRequest()
self.interstitial.load(req)
}
我在按钮中有额外的代码记录了插页式广告的状态,它显示为就绪,当前的代码正在被点击……但它永远不会出现。
我已经在 ContentView 中实现了这个确切的代码,并且插页式加载非常好。此代码在工作表中的某些原因导致插页式广告不显示。
在从工作表呈现的视图中,rootViewController 是否是加载插页式广告的不正确视图?否则,我还有什么错?
提前感谢您的帮助!
【问题讨论】:
标签: swift swiftui interstitial googlemobileads gadinterstitial