gpt4 book ai didi

ios - 通过 Google AdMob 插页式委托(delegate)​​方法传递 segue 数据

转载 作者:行者123 更新时间:2023-11-28 16:14:30 25 4
gpt4 key购买 nike

我有一个有四个按钮的应用程序,它们都将数据传递给模态视图 Controller 。这是通过为 4 个按钮分配标签,并在 prepareForSegue 中添加一些条件来实现的

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

if segue.identifier == "modalSegue" {
let secondViewController = segue.destinationViewController as! ModalViewController
if sender?.tag == 1 {
secondViewController.title = "Lawn Mowing"
}
else if sender?.tag == 2 {
secondViewController.title = "Landscaping"
}
else if sender?.tag == 3 {
secondViewController.title = "Hardscaping"
}
else if sender?.tag == 4 {
secondViewController.title = "Tree Removal"
}
}
}

这是我的按钮:

@IBAction func servicesButton(sender: UIButton) {
adCounter += 1
if adCounter == 4 {
adCounter = 0
if (interstitial.isReady) {
interstitial.presentFromRootViewController(self)
interstitial = createAd()
}
else {
self.performSegueWithIdentifier("modalSegue", sender: sender)
}
}
else {
self.performSegueWithIdentifier("modalSegue", sender: sender)
}
}

工作完美。

当我引入 AdMob Interstitials 时问题就来了

每点击 4 次按钮(在 servicesButton 上),我就会调用插页式广告。当插页式广告关闭时(通过 interstitialDidDismissScreen),我对模态视图 Controller 执行 segue:

func interstitialDidDismissScreen(ad: GADInterstitial!) {
self.performSegueWithIdentifier("modalSegue", sender: nil)
}

但是没有数据通过!! :(模式只是在没有 secondViewController 标题的情况下加载。我相信这是因为没有发件人,它提供按钮标签并传递数据......对吗?我还在插页委托(delegate)方法中尝试了 sender: self,但那没有做任何事情。

在用户关闭插页式广告后我如何继续将此信息传递给模态视图 Controller ?还是有更好的整体方法来处理这个问题?我需要在 segue 之前加载插页式广告,因为意外点击的可能性要小得多。

谢谢。如果您需要进一步的说明或问题,请告诉我。

最佳答案

一种解决方案是在展示插页式广告时清除 IBAction 中的计数,然后在取消插页式广告时,如果您有 IBOutlets,则可以使用作为发件人按下的按钮调用 servicesButton 函数。

func interstitialDidDismissScreen(ad: GADInterstitial!) {
self.servicesButton(buttonThatWasPressed)
}

然后这将调用您的所有逻辑。

另一种方法是为新 View 标题设置一个类级变量,并在按下按钮时设置该变量,然后无论您从何处调用 presentSegue,在 prepareForSegue 中您仍然可以访问新标题的内容是。

关于ios - 通过 Google AdMob 插页式委托(delegate)​​方法传递 segue 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39257058/

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