首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未调用tvOS中的pressesEnded

未调用tvOS中的pressesEnded
EN

Stack Overflow用户
提问于 2016-02-23 20:57:24
回答 3查看 1.7K关注 0票数 3

我正在用swift spritekit为tvOS开发一个游戏。有一个显示SKScene B的viewcontroller A。我正在将pressesBegan和pressesEnded从A转发到B。

在A中调用pressesBegan并将其转发到B,但在A中甚至没有调用pressedEnded。我不明白为什么?

下面是在A中实现的函数。

代码语言:javascript
运行
复制
override func pressesEnded(presses: Set<UIPress>, withEvent event: UIPressesEvent?) {
    if ((self.view as! SKView).scene?.isMemberOfClass(GameScene) == true){
        let gameScene = (self.view as! SKView).scene as! GameScene
        gameScene.pressesEnded(presses, withEvent: event)
    }

}

代码语言:javascript
运行
复制
override func pressesBegan(presses: Set<UIPress>, withEvent event: UIPressesEvent?) {

    if ((self.view as! SKView).scene?.isMemberOfClass(GameScene) == true){
        let gameScene = (self.view as! SKView).scene as! GameScene
        gameScene.pressesBegan(presses, withEvent: event)
    }
}
EN

Stack Overflow用户

发布于 2017-11-15 22:50:53

我也遇到过这种情况。

经过一些测试,似乎当“选择”按钮被释放时,tvOS会调用pressesEnded(_ presses: Set<UIPress>, with event: UIPressesEvent?) pressesCancelled(_ presses: Set<UIPress>, with event: UIPressesEvent?)

至于为什么会这样,我不知道。在每次按下按钮时,我没有做任何不同的事情。可能是tvOS中的一个bug。

我跳转到pressesEnded(_ presses: Set<UIPress>, with event: UIPressesEvent?)的定义,找到了这个解决方案,并找到了这个评论:

您的响应者将收到按下each :withEvent或按下取消:withEvent:按下的每个按键(按下press :withEvent:)。

这是我就同一问题提出的问题的link

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35578243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档