[英]How to refresh GameViewController from GameScene?
我在应用内购买后成功测试了广告的删除情况。 我需要的只是在完成付款后,交易完成后,当前GameScene上的横幅广告仍然存在。 为了删除它们,我必须重新启动应用程序。 我的GameViewController检查了viewDidLoad函数。 如何在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。 您只需执行以下步骤即可。
编辑:
目标C:
首先在控制广告的视图控制器中添加观察者:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(doRemoveHideAds:) name:@"RemoveOrHideAds" object:nil];
之后在同一个viewcontroller中添加通知方法:
-(void)doRemoveHideAds:(NSNotification*)notification {
// Hide Or remove Ads
}
现在在你获得inApp购买交易的方法中,成功方法就像这样调用Observer:
[[NSNotificationCenter defaultCenter] postNotificationName:@"RemoveOrHideAds" object:obj];
迅速:
首先在控制广告的视图控制器中添加观察者:
NSNotificationCenter.defaultCenter().addObserver(self, selector: "doRemoveHideAds:", name: "RemoveOrHideAds", object: nil)
之后在同一个viewcontroller中添加通知方法:
func doRemoveHideAds (notification: NSNotification){
// Hide Or remove Ads
}
现在在你获得inApp购买交易的方法中,成功方法就像这样调用Observer:
NSNotificationCenter.defaultCenter().postNotificationName("RemoveOrHideAds", object: nil)
希望它会对你有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.