ios - 如何从 GameScene 刷新 GameViewController?

标签 ios swift uiviewcontroller

我成功测试了应用内购买后广告的移除。我只需要在他们完成付款并完成交易后,当前 GameScene 上的横幅广告仍然存在。为了删除它们,我必须重新启动该应用程序。我的 GameViewController 在 vi​​ewDidLoad 函数中进行了检查。在 GameScene 中完成交易后,如何“刷新”viewDidLoad?

override func viewDidLoad() {
    super.viewDidLoad()

    NSNotificationCenter.addObserver(self, selector: "doRemoveAds:", name: "RemoveAds",object:nil)
    if let scene = StartScene(fileNamed:"StartScene") {

        let skView = self.view as! SKView
        skView.showsFPS = false
        skView.showsNodeCount = false
        skView.ignoresSiblingOrder = true
        scene.scaleMode = .AspectFill
        skView.presentScene(scene)
    }

    if NSUserDefaults.standardUserDefaults().boolForKey("RemoveAds") == false{
        loadBanner()
    }
}

@objc func doRemoveAds(notification: NSNotification) {
    adBanner.hidden = true
}

最佳答案

首先不需要再调用viewcontroller。您可以简单地执行以下步骤。

  • 假设您在 ViewDidLoad 方法中显示广告,假设您正在添加它 您可以在交易成功的某些方法中隐藏它。
  • 如果您正在添加 subview 广告,您可以在收到交易成功通知的方法中将其删除。

编辑:

objective-c :

首先在您控制广告的 View Controller 中添加观察者:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(doRemoveHideAds:) name:@"RemoveOrHideAds" object:nil];

之后在同一个viewcontroller中添加通知方法:

-(void)doRemoveHideAds:(NSNotification*)notification {
// Hide Or remove Ads
}

现在在你获得inApp purchase transaction Success方法的方法中,像这样调用Observer:

[[NSNotificationCenter defaultCenter] postNotificationName:@"RemoveOrHideAds" object:obj];

swift :

首先在您控制广告的 View Controller 中添加观察者:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "doRemoveHideAds:", name: "RemoveOrHideAds", object: nil)

之后在同一个viewcontroller中添加通知方法:

func doRemoveHideAds (notification: NSNotification){
// Hide Or remove Ads
}

现在在你获得inApp purchase transaction Success方法的方法中,像这样调用Observer:

NSNotificationCenter.defaultCenter().postNotificationName("RemoveOrHideAds", object: nil)

希望对你有所帮助。

关于ios - 如何从 GameScene 刷新 GameViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35353544/

相关文章:

swift - 选择 Swift 时将注释标题传递给嵌入式容器 View

ios - iOS 应用程序构建 : The binary may contain the following banned API(s) _memcpy, _alloca、_gets 中的安全问题

ios - 将 UIView 从 ViewController 移动到 Window

ios - 使用 Swift 在 UIView 类中实现 imagePicker

ios - 如何在不同的 UIViewcontroller 之间切换

ios - Swift - 使用自定义类作为 TableView 中的单元格

ios - 我在哪里可以找到 iOS 上 kAFAssistantErrorDomain 错误的错误代码?

ios - 解包可选值时意外发现 nil - Plist

iphone - 动画调整 UIWebView 的大小

ios - 在初始化第一个 View Controller 之前运行代码(基于 Storyboard的应用程序)