我有一个iOS SpriteKit SKScene,它通过View.AddSubview包含一个UIKit UITableView作为场景的一部分。一般来说这很好。然后我创建一个暂时位于场景顶部的SKNode(放大特定图像),我希望它位于z顺序的顶部,因此我将新节点的ZPosition设置为999任意。当添加节点时,它出现在所有其他SpriteKit节点的顶部,但是UITableView仍然位于z顺序的顶部,并且即使在它上面有一个精灵节点(假设),它仍然接受输入。
当它存放在SpriteKit场景上时,有没有办法设置UIKit视图的z顺序,这样我可以向后推?
感谢您的任何建议。
答案 0 :(得分:3)
这是不可能的。添加到SKView的任何UIView都位于SKView渲染的所有内容之上。由SKView呈现的节点和SKScene本身不是视图,它们是SKView内部的元素,就像表格单元格是UITableView的一部分一样,但是您只能更改UITableView和SKView的绘制顺序。您无法获取单个元素(节点或单元格)并将其绘制到容器视图之外。
顺便提一下,其他2d渲染器存在同样的问题,无论是cocos2d还是普通的OpenGL。