swift - 如何在 SKScene 中呈现 View Controller ?

标签 swift uiviewcontroller sprite-kit skscene

我正在尝试弄清楚如何为我的 SpriteKit 游戏使用共享表,当我尝试从我的场景中呈现 View Controller 时,它给我一个错误。

if self.nodeAtPoint(location) == self.shareButton {
        var tempMessage = "I just got \(score) on [insert app]"

        let activityVC:UIActivityViewController = UIActivityViewController(activityItems: [tempMessage], applicationActivities: nil)

        self.presentViewController(activityVC, animated: true, completion: nil)
}

这是在我的 GameOverScene 中。你究竟是如何在 Swift 中管理 View Controller 的,因为我看到的答案是在 OBJ-C 中。

谢谢!

最佳答案

好吧,我做了一些挖掘并找到了一个可行的解决方案。

基本上,我使用 NSNoticationCenter 并在我的 GameViewController 文件中设置 View Controller 。

override func viewDidLoad() {
.
.
NSNotificationCenter.defaultCenter().addObserver(self, selector: "showSocialNetworks", name: "showSocialNetworksID", object: nil)
}

并使函数被调用

func showSocialNetworks(){
    var tempMessage = "Insert your message to be shared on social network"

    let activityVC:UIActivityViewController = UIActivityViewController(activityItems: [tempMessage], applicationActivities: nil)

    self.presentViewController(activityVC, animated: true, completion: nil)
}

现在跳回我的 GameOverScene,我将其设置为当用户点击分享按钮时,它会执行以下代码

if self.nodeAtPoint(location) == self.shareButton {
             NSNotificationCenter.defaultCenter().postNotificationName("showSocialNetworksID",  object: nil)

}

这可能不是最简洁的方法,但对我有用。希望这对您有所帮助!

关于swift - 如何在 SKScene 中呈现 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28378580/

相关文章:

ios - Swift NSURLConnection 立即返回 1005 错误

swift - 本地化问题?从文本字段中提取时,数字在逗号处被修剪

swift - 协议(protocol)扩展中的 .sort 不起作用

iphone - 如何在 didReceiveRemoteNotification 中推送新的 View Controller ,以便之前的 View Controller 暂时不显示?

iphone - 联系后尝试隐藏节点

ios - SpriteKit 场景在 iOS 8 上是空白的

ios - 如何在 didFinishLaunchingWithOptions 方法中通过单击通用链接检查应用程序是否已打开

ios - iOS-从其父类(super class)设置UIButton目标和操作

ios - PushViewController 后跟 'back' 按钮有时不会弹出 View

ios - 使用 Sprite Kit 创建水(流体)表面