GameScene Share Button(GameScene共享按钮)
本文介绍了GameScene共享按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的游戏差不多可以开始了,我唯一缺少的(并且想补充的)就是在社交媒体上分享标准消息的选项。我环顾四周,发现了不同的方法,但当我实现它们时,似乎没有一种方法奏效。我有一种感觉,可能是我做错了什么简单的事情!
这是我的按钮:
func createShareButton() {
shareButton = SKSpriteNode(imageNamed: "shareBtn")
shareButton.size = CGSize(width: 240, height: 55)
shareButton.position = CGPoint(x: self.frame.width / 2, y: (self.frame.height / 2) - 150)
shareButton.zPosition = 6
self.addChild(shareButton)
shareButton.run(SKAction.scale(to: 1.0, duration: 0.3))
}
当按钮被按下时,我的代码如下(在我的GameScene.wift文件中):
let vc = self.view?.window?.rootViewController
let myText = "share test message!"
let activityVC:UIActivityViewController = UIActivityViewController(activityItems: [myText], applicationActivities: nil)
vc?.present(activityVC, animated: true, completion: nil)
当我点击该按钮时,在控制台中出现错误:
Warning: Attempt to present <UIActivityViewController: 0x149d4e880> on <MyGame.initialVC: 0x149d0fe90> whose view is not in the window hierarchy!
知道我哪里出错了吗?
提前谢谢!
推荐答案
两天前我遇到了同样的问题。我用这个stackoverflow answer
修复了它我一直收到相同的错误,这是因为rootViewController不是层次结构中当前最顶层的视图控制器。当我想让视图控制器控制当前的SKScene时,它正在尝试使用我的初始视图控制器。
希望这能有所帮助
func shareGame() {
if var top = scene?.view?.window?.rootViewController {
while let presentedViewController = top.presentedViewController {
top = presentedViewController
}
let activityVC = UIActivityViewController(activityItems: ["I am playing Crashbox! Check it out."], applicationActivities: nil)
activityVC.popoverPresentationController?.sourceView = view
top.present(activityVC, animated: true, completion: nil)
}
}
这篇关于GameScene共享按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:GameScene共享按钮


猜你喜欢
- Android - 我如何找出用户有多少未读电子邮件? 2022-01-01
- Android - 拆分 Drawable 2022-01-01
- 使用自定义动画时在 iOS9 上忽略 edgesForExtendedLayout 2022-01-01
- MalformedJsonException:在第1行第1列路径中使用JsonReader.setLenient(True)接受格式错误的JSON 2022-01-01
- android 4中的android RadioButton问题 2022-01-01
- Android viewpager检测滑动超出范围 2022-01-01
- 用 Swift 实现 UITextFieldDelegate 2022-01-01
- 在测试浓缩咖啡时,Android设备不会在屏幕上启动活动 2022-01-01
- 如何检查发送到 Android 应用程序的 Firebase 消息的传递状态? 2022-01-01
- 想使用ViewPager,无法识别android.support.*? 2022-01-01