Spritekit - 在Tableview前面的Spritenode

时间:2017-04-12 05:42:28

标签: ios swift uitableview sprite-kit

我有这个由一个子类添加到我的场景中的tableview,它被添加到场景中

override func didMove(to view: SKView) {

    gameTableView.frame = CGRect(x:14,y:70, width: frame.maxX / 1.08, height: frame.maxY/0.9)

    self.scene?.view?.addSubview(gameTableView)
    gameTableView.reloadData()

    universalBackButton = SKSpriteNode(color: SKColor.orange, size: CGSize(width: 100, height: 100))
    universalBackButton.position = CGPoint(x:frame.midX - universalBackButton.size.width * 0.7, y: -frame.maxY + universalBackButton.size.height)
    universalBackButton.zPosition = 100001
    self.scene?.addChild(universalBackButton)

    itemShopMenu = SKSpriteNode(color: SKColor.orange, size: CGSize(width: 75, height: 50))
    itemShopMenu.position = CGPoint(x:frame.midX + universalBackButton.size.width * 0.7, y: -frame.maxY + itemShopMenu.size.height)
    itemShopMenu.zPosition = 100001
    self.scene?.addChild(itemShopMenu)
}

但是当我去添加按钮以便我可以离开桌面视图时,他们会在桌面后面而不是在桌面前面。我几乎没有经验使用带有场景的子视图,也不知道如何让spritenodes在tableview前面而不是在它后面,这样就可以点击它们来执行一个函数。无论如何,我可以在tableview前面添加spritenodes,以便可以按下它们吗?

1 个答案:

答案 0 :(得分:2)

SpriteKit针对SKView中的分层精灵进行了优化 - 而不是放在其他UIViews之上。为什么不通过创建UI按钮并将它们分层在顶部而不是使用精灵作为按钮来实现相同的效果?

let universalBackButton = UIButton()...